@genesislcap/foundation-forms 14.430.2-FUI-2528.3 → 14.430.2-FUI-2528.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/custom-elements.json +1375 -1375
  2. package/package.json +15 -15
@@ -1589,619 +1589,669 @@
1589
1589
  },
1590
1590
  {
1591
1591
  "kind": "javascript-module",
1592
- "path": "src/utils/confirmation-dialog-utils.ts",
1593
- "declarations": [],
1594
- "exports": []
1595
- },
1596
- {
1597
- "kind": "javascript-module",
1598
- "path": "src/utils/csv-parser.ts",
1592
+ "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
1599
1593
  "declarations": [
1600
1594
  {
1601
1595
  "kind": "function",
1602
- "name": "parseCsv",
1603
- "return": {
1604
- "type": {
1605
- "text": ""
1606
- }
1607
- },
1596
+ "name": "ArrayListWrapperRendererTemplate",
1608
1597
  "parameters": [
1609
1598
  {
1610
- "name": "content",
1599
+ "name": "prefix",
1600
+ "default": "'zero'",
1611
1601
  "type": {
1612
1602
  "text": "string"
1613
- },
1614
- "description": "The CSV content as a string"
1603
+ }
1615
1604
  }
1616
- ],
1617
- "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
1618
- "privacy": "public"
1605
+ ]
1619
1606
  },
1620
1607
  {
1621
- "kind": "function",
1622
- "name": "mapCsvToSchema",
1623
- "return": {
1624
- "type": {
1625
- "text": ""
1626
- }
1627
- },
1628
- "parameters": [
1608
+ "kind": "class",
1609
+ "description": "",
1610
+ "name": "ArrayListWrapper",
1611
+ "members": [
1629
1612
  {
1630
- "name": "csvRows",
1631
- "type": {
1632
- "text": "Record<string, string>[]"
1633
- },
1634
- "description": "The parsed CSV rows"
1613
+ "kind": "field",
1614
+ "name": "form"
1635
1615
  },
1636
1616
  {
1637
- "name": "schema",
1638
- "type": {
1639
- "text": "JSONSchema7 | undefined"
1640
- },
1641
- "description": "The JSON schema defining the fields"
1617
+ "kind": "field",
1618
+ "name": "control"
1642
1619
  },
1643
1620
  {
1644
- "name": "uiSchema",
1645
- "optional": true,
1646
- "type": {
1647
- "text": "UiSchema"
1648
- },
1649
- "description": "Optional UI schema to map labels to field names on import"
1650
- }
1651
- ],
1652
- "description": "Maps CSV rows to schema fields with case-insensitive matching.\nWhen uiSchema is provided, CSV headers can also match UI schema labels.\nConverts values to appropriate types based on schema definition.",
1653
- "privacy": "public"
1654
- },
1655
- {
1656
- "kind": "function",
1657
- "name": "generateCsvTemplate",
1658
- "return": {
1659
- "type": {
1660
- "text": ""
1661
- }
1662
- },
1663
- "parameters": [
1664
- {
1665
- "name": "schema",
1666
- "type": {
1667
- "text": "JSONSchema7 | undefined"
1668
- },
1669
- "description": "The JSON schema defining the fields"
1621
+ "kind": "field",
1622
+ "name": "schema"
1670
1623
  },
1671
1624
  {
1672
- "name": "uiSchema",
1673
- "optional": true,
1674
- "type": {
1675
- "text": "UiSchema"
1676
- },
1677
- "description": "Optional UI schema to determine field order and visibility"
1625
+ "kind": "field",
1626
+ "name": "uiSchema"
1678
1627
  },
1679
1628
  {
1680
- "name": "includeOptionalFields",
1681
- "default": "true",
1629
+ "kind": "field",
1630
+ "name": "isGridView",
1682
1631
  "type": {
1683
1632
  "text": "boolean"
1684
1633
  },
1685
- "description": "Whether to include optional fields when no UI schema (default: true)"
1634
+ "default": "false"
1686
1635
  },
1687
1636
  {
1688
- "name": "includeBom",
1689
- "default": "true",
1637
+ "kind": "field",
1638
+ "name": "gridViewHeaderCells",
1690
1639
  "type": {
1691
- "text": "boolean"
1640
+ "text": "GridHeaderCell[]"
1692
1641
  },
1693
- "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
1694
- }
1695
- ],
1696
- "description": "Generates a CSV template string with headers and sample data based on JSON schema.\nIf a UI schema is provided, it will be used to determine which fields to include\nand in what order. Hidden fields in the UI schema will be excluded.",
1697
- "privacy": "public"
1698
- },
1699
- {
1700
- "kind": "function",
1701
- "name": "downloadCsvTemplate",
1702
- "return": {
1703
- "type": {
1704
- "text": "void"
1705
- }
1706
- },
1707
- "parameters": [
1642
+ "default": "[]"
1643
+ },
1708
1644
  {
1709
- "name": "csvContent",
1645
+ "kind": "field",
1646
+ "name": "gridViewUiSchema",
1710
1647
  "type": {
1711
- "text": "string"
1648
+ "text": "any"
1712
1649
  },
1713
- "description": "The CSV content to download"
1650
+ "default": "null"
1714
1651
  },
1715
1652
  {
1716
- "name": "fileName",
1717
- "default": "'template.csv'",
1718
- "type": {
1719
- "text": "string"
1720
- },
1721
- "description": "The name for the downloaded file (default: 'template.csv')"
1653
+ "kind": "method",
1654
+ "name": "controlChanged"
1655
+ },
1656
+ {
1657
+ "kind": "method",
1658
+ "name": "addItem"
1659
+ },
1660
+ {
1661
+ "kind": "method",
1662
+ "name": "deleteItem",
1663
+ "parameters": [
1664
+ {
1665
+ "name": "index",
1666
+ "type": {
1667
+ "text": "number"
1668
+ }
1669
+ }
1670
+ ]
1671
+ },
1672
+ {
1673
+ "kind": "method",
1674
+ "name": "submitRow",
1675
+ "parameters": [
1676
+ {
1677
+ "name": "index",
1678
+ "type": {
1679
+ "text": "number"
1680
+ },
1681
+ "description": "The row index to submit"
1682
+ }
1683
+ ],
1684
+ "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
1722
1685
  }
1723
1686
  ],
1724
- "description": "Triggers a download of the CSV template file in the browser.",
1725
- "privacy": "public"
1687
+ "superclass": {
1688
+ "name": "FASTElement",
1689
+ "package": "@microsoft/fast-element"
1690
+ },
1691
+ "tagName": "array-list-wrapper",
1692
+ "customElement": true
1726
1693
  }
1727
1694
  ],
1728
1695
  "exports": [
1729
1696
  {
1730
1697
  "kind": "js",
1731
- "name": "parseCsv",
1732
- "declaration": {
1733
- "name": "parseCsv",
1734
- "module": "src/utils/csv-parser.ts"
1735
- }
1736
- },
1737
- {
1738
- "kind": "js",
1739
- "name": "mapCsvToSchema",
1698
+ "name": "ArrayListWrapperRendererTemplate",
1740
1699
  "declaration": {
1741
- "name": "mapCsvToSchema",
1742
- "module": "src/utils/csv-parser.ts"
1700
+ "name": "ArrayListWrapperRendererTemplate",
1701
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1743
1702
  }
1744
1703
  },
1745
1704
  {
1746
1705
  "kind": "js",
1747
- "name": "generateCsvTemplate",
1706
+ "name": "ArrayListWrapper",
1748
1707
  "declaration": {
1749
- "name": "generateCsvTemplate",
1750
- "module": "src/utils/csv-parser.ts"
1708
+ "name": "ArrayListWrapper",
1709
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1751
1710
  }
1752
1711
  },
1753
1712
  {
1754
- "kind": "js",
1755
- "name": "downloadCsvTemplate",
1713
+ "kind": "custom-element-definition",
1714
+ "name": "array-list-wrapper",
1756
1715
  "declaration": {
1757
- "name": "downloadCsvTemplate",
1758
- "module": "src/utils/csv-parser.ts"
1716
+ "name": "ArrayListWrapper",
1717
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1759
1718
  }
1760
1719
  }
1761
1720
  ]
1762
1721
  },
1763
1722
  {
1764
1723
  "kind": "javascript-module",
1765
- "path": "src/utils/filters.ts",
1766
- "declarations": [],
1767
- "exports": []
1768
- },
1769
- {
1770
- "kind": "javascript-module",
1771
- "path": "src/utils/form-utils.ts",
1724
+ "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
1772
1725
  "declarations": [
1773
1726
  {
1774
1727
  "kind": "function",
1775
- "name": "removeDataPropertiesNotInSchema",
1776
- "return": {
1777
- "type": {
1778
- "text": ""
1779
- }
1780
- },
1728
+ "name": "BooleanControlRendererTemplate",
1781
1729
  "parameters": [
1782
1730
  {
1783
- "name": "data",
1784
- "type": {
1785
- "text": "any"
1786
- },
1787
- "description": "The data object to clean"
1788
- },
1789
- {
1790
- "name": "jsonSchema",
1731
+ "name": "prefix",
1732
+ "default": "'zero'",
1791
1733
  "type": {
1792
- "text": "JSONSchema7"
1793
- },
1794
- "description": "The JSON schema to validate against"
1734
+ "text": "string"
1735
+ }
1795
1736
  }
1796
- ],
1797
- "description": "Removes data properties that aren't part of the schema"
1737
+ ]
1738
+ },
1739
+ {
1740
+ "kind": "variable",
1741
+ "name": "BooleanControlEntry",
1742
+ "type": {
1743
+ "text": "RendererEntry"
1744
+ },
1745
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
1798
1746
  }
1799
1747
  ],
1800
1748
  "exports": [
1801
1749
  {
1802
1750
  "kind": "js",
1803
- "name": "removeDataPropertiesNotInSchema",
1751
+ "name": "BooleanControlRendererTemplate",
1804
1752
  "declaration": {
1805
- "name": "removeDataPropertiesNotInSchema",
1806
- "module": "src/utils/form-utils.ts"
1753
+ "name": "BooleanControlRendererTemplate",
1754
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1755
+ }
1756
+ },
1757
+ {
1758
+ "kind": "js",
1759
+ "name": "BooleanControlEntry",
1760
+ "declaration": {
1761
+ "name": "BooleanControlEntry",
1762
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1807
1763
  }
1808
1764
  }
1809
1765
  ]
1810
1766
  },
1811
1767
  {
1812
1768
  "kind": "javascript-module",
1813
- "path": "src/utils/index.ts",
1814
- "declarations": [],
1815
- "exports": [
1816
- {
1817
- "kind": "js",
1818
- "name": "*",
1819
- "declaration": {
1820
- "name": "*",
1821
- "package": "./csv-parser"
1822
- }
1769
+ "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
1770
+ "declarations": [
1771
+ {
1772
+ "kind": "variable",
1773
+ "name": "tabControlIconStyles",
1774
+ "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
1823
1775
  },
1824
1776
  {
1825
- "kind": "js",
1826
- "name": "*",
1827
- "declaration": {
1828
- "name": "*",
1829
- "package": "./filters"
1830
- }
1777
+ "kind": "function",
1778
+ "name": "CategorizationWrapperRendererTemplate",
1779
+ "parameters": [
1780
+ {
1781
+ "name": "prefix",
1782
+ "default": "'zero'"
1783
+ }
1784
+ ]
1831
1785
  },
1786
+ {
1787
+ "kind": "class",
1788
+ "description": "",
1789
+ "name": "CategorizationWrapper",
1790
+ "members": [
1791
+ {
1792
+ "kind": "field",
1793
+ "name": "form"
1794
+ },
1795
+ {
1796
+ "kind": "field",
1797
+ "name": "control"
1798
+ },
1799
+ {
1800
+ "kind": "method",
1801
+ "name": "hasCategoryError",
1802
+ "return": {
1803
+ "type": {
1804
+ "text": "boolean"
1805
+ }
1806
+ },
1807
+ "parameters": [
1808
+ {
1809
+ "name": "categoryIndex",
1810
+ "type": {
1811
+ "text": "number"
1812
+ }
1813
+ }
1814
+ ]
1815
+ }
1816
+ ],
1817
+ "superclass": {
1818
+ "name": "FASTElement",
1819
+ "package": "@microsoft/fast-element"
1820
+ },
1821
+ "tagName": "categorization-wrapper",
1822
+ "customElement": true
1823
+ }
1824
+ ],
1825
+ "exports": [
1832
1826
  {
1833
1827
  "kind": "js",
1834
- "name": "*",
1828
+ "name": "tabControlIconStyles",
1835
1829
  "declaration": {
1836
- "name": "*",
1837
- "package": "./logger"
1830
+ "name": "tabControlIconStyles",
1831
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1838
1832
  }
1839
1833
  },
1840
1834
  {
1841
1835
  "kind": "js",
1842
- "name": "*",
1836
+ "name": "CategorizationWrapperRendererTemplate",
1843
1837
  "declaration": {
1844
- "name": "*",
1845
- "package": "./translation"
1838
+ "name": "CategorizationWrapperRendererTemplate",
1839
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1846
1840
  }
1847
1841
  },
1848
1842
  {
1849
1843
  "kind": "js",
1850
- "name": "*",
1844
+ "name": "CategorizationWrapper",
1851
1845
  "declaration": {
1852
- "name": "*",
1853
- "package": "./validation"
1846
+ "name": "CategorizationWrapper",
1847
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1854
1848
  }
1855
1849
  },
1856
1850
  {
1857
- "kind": "js",
1858
- "name": "*",
1851
+ "kind": "custom-element-definition",
1852
+ "name": "categorization-wrapper",
1859
1853
  "declaration": {
1860
- "name": "*",
1861
- "package": "./types"
1854
+ "name": "CategorizationWrapper",
1855
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1862
1856
  }
1863
1857
  }
1864
1858
  ]
1865
1859
  },
1866
1860
  {
1867
1861
  "kind": "javascript-module",
1868
- "path": "src/utils/logger.ts",
1869
- "declarations": [],
1870
- "exports": []
1871
- },
1872
- {
1873
- "kind": "javascript-module",
1874
- "path": "src/utils/schema-utils.ts",
1875
- "declarations": [],
1876
- "exports": []
1877
- },
1878
- {
1879
- "kind": "javascript-module",
1880
- "path": "src/utils/translation.ts",
1881
- "declarations": [],
1882
- "exports": []
1883
- },
1884
- {
1885
- "kind": "javascript-module",
1886
- "path": "src/utils/types.ts",
1887
- "declarations": [],
1888
- "exports": []
1889
- },
1890
- {
1891
- "kind": "javascript-module",
1892
- "path": "src/utils/validation.ts",
1862
+ "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
1893
1863
  "declarations": [
1894
1864
  {
1895
1865
  "kind": "function",
1896
- "name": "mustMatch",
1866
+ "name": "ConnectedMultiselectControlRendererTemplate",
1897
1867
  "parameters": [
1898
1868
  {
1899
- "name": "target",
1869
+ "name": "prefix",
1870
+ "default": "'zero'",
1900
1871
  "type": {
1901
1872
  "text": "string"
1902
- },
1903
- "description": "any other field"
1904
- }
1905
- ],
1906
- "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
1907
- "return": {
1908
- "type": {
1909
- "text": ""
1873
+ }
1910
1874
  }
1911
- },
1912
- "privacy": "public"
1875
+ ]
1913
1876
  },
1914
1877
  {
1915
- "kind": "function",
1916
- "name": "getAnyOfErrorMessage",
1917
- "return": {
1918
- "type": {
1919
- "text": "string"
1920
- }
1878
+ "kind": "variable",
1879
+ "name": "ConnectedMultiselectControlRendererEntry",
1880
+ "type": {
1881
+ "text": "RendererEntry"
1921
1882
  },
1922
- "parameters": [
1923
- {
1924
- "name": "errors",
1925
- "type": {
1926
- "text": "Array<any> | undefined"
1927
- }
1928
- },
1929
- {
1930
- "name": "schema",
1931
- "type": {
1932
- "text": "any"
1933
- }
1934
- },
1935
- {
1936
- "name": "controlPath",
1937
- "type": {
1938
- "text": "string | undefined"
1939
- }
1940
- },
1941
- {
1942
- "name": "uiCustomMsg",
1943
- "optional": true,
1944
- "type": {
1945
- "text": "string"
1946
- }
1947
- }
1948
- ],
1949
- "description": "Computes a human-friendly anyOf error message for a given control path.\nPrefers UI schema custom message, then JSON schema errorMessage.anyOf, then a constructed fallback.",
1950
- "privacy": "public"
1883
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
1951
1884
  }
1952
1885
  ],
1953
1886
  "exports": [
1954
1887
  {
1955
1888
  "kind": "js",
1956
- "name": "mustMatch",
1889
+ "name": "ConnectedMultiselectControlRendererTemplate",
1957
1890
  "declaration": {
1958
- "name": "mustMatch",
1959
- "module": "src/utils/validation.ts"
1891
+ "name": "ConnectedMultiselectControlRendererTemplate",
1892
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
1960
1893
  }
1961
1894
  },
1962
1895
  {
1963
1896
  "kind": "js",
1964
- "name": "getAnyOfErrorMessage",
1897
+ "name": "ConnectedMultiselectControlRendererEntry",
1965
1898
  "declaration": {
1966
- "name": "getAnyOfErrorMessage",
1967
- "module": "src/utils/validation.ts"
1899
+ "name": "ConnectedMultiselectControlRendererEntry",
1900
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
1968
1901
  }
1969
1902
  }
1970
1903
  ]
1971
1904
  },
1972
1905
  {
1973
1906
  "kind": "javascript-module",
1974
- "path": "src/jsonforms/testers/isArray.ts",
1907
+ "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
1975
1908
  "declarations": [
1976
1909
  {
1977
1910
  "kind": "function",
1978
- "name": "isArray",
1911
+ "name": "ConnectedSelectControlRendererTemplate",
1979
1912
  "parameters": [
1980
1913
  {
1981
- "name": "itemsType",
1914
+ "name": "prefix",
1915
+ "default": "'zero'",
1982
1916
  "type": {
1983
- "text": "ArrayItemsType"
1917
+ "text": "string"
1984
1918
  }
1985
1919
  }
1986
1920
  ]
1921
+ },
1922
+ {
1923
+ "kind": "variable",
1924
+ "name": "ConnectedSelectControlRendererEntry",
1925
+ "type": {
1926
+ "text": "any"
1927
+ },
1928
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedSelectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(SELECT_CONTROL_RANK, or(optionIs('allOptionsResourceName'), optionIs('data'))),\n mapper: mapStateToControlProps,\n}"
1987
1929
  }
1988
1930
  ],
1989
1931
  "exports": [
1990
1932
  {
1991
1933
  "kind": "js",
1992
- "name": "isArray",
1934
+ "name": "ConnectedSelectControlRendererTemplate",
1993
1935
  "declaration": {
1994
- "name": "isArray",
1995
- "module": "src/jsonforms/testers/isArray.ts"
1936
+ "name": "ConnectedSelectControlRendererTemplate",
1937
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
1996
1938
  }
1997
- }
1998
- ]
1999
- },
2000
- {
2001
- "kind": "javascript-module",
2002
- "path": "src/jsonforms/testers/isDate.ts",
2003
- "declarations": [
2004
- {
2005
- "kind": "variable",
2006
- "name": "isOneOfDate"
2007
- }
2008
- ],
2009
- "exports": [
1939
+ },
2010
1940
  {
2011
1941
  "kind": "js",
2012
- "name": "isOneOfDate",
1942
+ "name": "ConnectedSelectControlRendererEntry",
2013
1943
  "declaration": {
2014
- "name": "isOneOfDate",
2015
- "module": "src/jsonforms/testers/isDate.ts"
1944
+ "name": "ConnectedSelectControlRendererEntry",
1945
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2016
1946
  }
2017
1947
  }
2018
1948
  ]
2019
1949
  },
2020
1950
  {
2021
1951
  "kind": "javascript-module",
2022
- "path": "src/jsonforms/testers/isInvisible.ts",
1952
+ "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2023
1953
  "declarations": [
2024
1954
  {
2025
1955
  "kind": "function",
2026
- "name": "isInvisible",
1956
+ "name": "controlWrapperTemplate",
2027
1957
  "return": {
2028
1958
  "type": {
2029
- "text": "boolean"
1959
+ "text": "ViewTemplate<DispatchRenderer>"
2030
1960
  }
2031
1961
  },
2032
1962
  "parameters": [
2033
1963
  {
2034
- "name": "uischema",
1964
+ "name": "options",
2035
1965
  "type": {
2036
- "text": "UISchemaElement"
1966
+ "text": "ControlWrapperOptions"
2037
1967
  }
1968
+ }
1969
+ ],
1970
+ "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.",
1971
+ "privacy": "public"
1972
+ },
1973
+ {
1974
+ "kind": "class",
1975
+ "description": "",
1976
+ "name": "ControlWrapper",
1977
+ "members": [
1978
+ {
1979
+ "kind": "field",
1980
+ "name": "control"
2038
1981
  },
2039
1982
  {
2040
- "name": "schema",
2041
- "type": {
2042
- "text": "JsonSchema"
1983
+ "kind": "field",
1984
+ "name": "jsonForms"
1985
+ },
1986
+ {
1987
+ "kind": "field",
1988
+ "name": "touched",
1989
+ "type": {
1990
+ "text": "boolean"
2043
1991
  }
2044
1992
  },
2045
1993
  {
2046
- "name": "context",
1994
+ "kind": "field",
1995
+ "name": "hideLabel",
2047
1996
  "type": {
2048
- "text": "TesterContext"
1997
+ "text": "boolean"
1998
+ },
1999
+ "default": "false"
2000
+ },
2001
+ {
2002
+ "kind": "field",
2003
+ "name": "prefix",
2004
+ "type": {
2005
+ "text": "string"
2049
2006
  }
2007
+ },
2008
+ {
2009
+ "kind": "field",
2010
+ "name": "showDescription",
2011
+ "readonly": true
2012
+ },
2013
+ {
2014
+ "kind": "field",
2015
+ "name": "computedLabel",
2016
+ "readonly": true
2017
+ },
2018
+ {
2019
+ "kind": "field",
2020
+ "name": "getPrefixedTooltip",
2021
+ "readonly": true
2022
+ },
2023
+ {
2024
+ "kind": "field",
2025
+ "name": "anyOfError",
2026
+ "readonly": true
2050
2027
  }
2051
- ]
2028
+ ],
2029
+ "attributes": [
2030
+ {
2031
+ "name": "hide-label",
2032
+ "type": {
2033
+ "text": "boolean"
2034
+ },
2035
+ "default": "false",
2036
+ "fieldName": "hideLabel"
2037
+ },
2038
+ {
2039
+ "name": "prefix",
2040
+ "type": {
2041
+ "text": "string"
2042
+ },
2043
+ "fieldName": "prefix"
2044
+ }
2045
+ ],
2046
+ "superclass": {
2047
+ "name": "FASTElement",
2048
+ "package": "@microsoft/fast-element"
2049
+ },
2050
+ "deprecated": "Use `controlWrapperTemplate` instead. The `<control-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `controlWrapperTemplate` function which renders inline within the parent renderer's template.",
2051
+ "tagName": "control-wrapper",
2052
+ "customElement": true
2052
2053
  }
2053
2054
  ],
2054
2055
  "exports": [
2055
2056
  {
2056
2057
  "kind": "js",
2057
- "name": "isInvisible",
2058
+ "name": "controlWrapperTemplate",
2058
2059
  "declaration": {
2059
- "name": "isInvisible",
2060
- "module": "src/jsonforms/testers/isInvisible.ts"
2060
+ "name": "controlWrapperTemplate",
2061
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2061
2062
  }
2062
- }
2063
- ]
2064
- },
2065
- {
2066
- "kind": "javascript-module",
2067
- "path": "src/jsonforms/testers/isOneOfBoolean.ts",
2068
- "declarations": [
2069
- {
2070
- "kind": "variable",
2071
- "name": "isOneOfBoolean"
2072
- }
2073
- ],
2074
- "exports": [
2063
+ },
2075
2064
  {
2076
2065
  "kind": "js",
2077
- "name": "isOneOfBoolean",
2066
+ "name": "ControlWrapper",
2078
2067
  "declaration": {
2079
- "name": "isOneOfBoolean",
2080
- "module": "src/jsonforms/testers/isOneOfBoolean.ts"
2068
+ "name": "ControlWrapper",
2069
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2070
+ }
2071
+ },
2072
+ {
2073
+ "kind": "custom-element-definition",
2074
+ "name": "control-wrapper",
2075
+ "declaration": {
2076
+ "name": "ControlWrapper",
2077
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2081
2078
  }
2082
2079
  }
2083
2080
  ]
2084
2081
  },
2085
2082
  {
2086
2083
  "kind": "javascript-module",
2087
- "path": "src/jsonforms/testers/isOneOfEnum.ts",
2084
+ "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2088
2085
  "declarations": [
2086
+ {
2087
+ "kind": "function",
2088
+ "name": "DateControlRendererTemplate",
2089
+ "parameters": [
2090
+ {
2091
+ "name": "prefix",
2092
+ "default": "'zero'",
2093
+ "type": {
2094
+ "text": "string"
2095
+ }
2096
+ }
2097
+ ]
2098
+ },
2089
2099
  {
2090
2100
  "kind": "variable",
2091
- "name": "isOneOfEnum"
2101
+ "name": "DateControlRendererEntry",
2102
+ "type": {
2103
+ "text": "RendererEntry"
2104
+ },
2105
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2092
2106
  }
2093
2107
  ],
2094
2108
  "exports": [
2095
2109
  {
2096
2110
  "kind": "js",
2097
- "name": "isOneOfEnum",
2111
+ "name": "DateControlRendererTemplate",
2098
2112
  "declaration": {
2099
- "name": "isOneOfEnum",
2100
- "module": "src/jsonforms/testers/isOneOfEnum.ts"
2113
+ "name": "DateControlRendererTemplate",
2114
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2101
2115
  }
2102
- }
2103
- ]
2104
- },
2105
- {
2106
- "kind": "javascript-module",
2107
- "path": "src/jsonforms/testers/isOneOfNumber.ts",
2108
- "declarations": [
2109
- {
2110
- "kind": "variable",
2111
- "name": "isOneOfNumber"
2112
- }
2113
- ],
2114
- "exports": [
2116
+ },
2115
2117
  {
2116
2118
  "kind": "js",
2117
- "name": "isOneOfNumber",
2119
+ "name": "DateControlRendererEntry",
2118
2120
  "declaration": {
2119
- "name": "isOneOfNumber",
2120
- "module": "src/jsonforms/testers/isOneOfNumber.ts"
2121
+ "name": "DateControlRendererEntry",
2122
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2121
2123
  }
2122
2124
  }
2123
2125
  ]
2124
2126
  },
2125
2127
  {
2126
2128
  "kind": "javascript-module",
2127
- "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
2129
+ "path": "src/jsonforms/renderers/DividerRenderer.ts",
2128
2130
  "declarations": [
2131
+ {
2132
+ "kind": "function",
2133
+ "name": "DividerControlRendererTemplate",
2134
+ "parameters": [
2135
+ {
2136
+ "name": "prefix",
2137
+ "default": "'zero'",
2138
+ "type": {
2139
+ "text": "string"
2140
+ }
2141
+ }
2142
+ ]
2143
+ },
2129
2144
  {
2130
2145
  "kind": "variable",
2131
- "name": "isOneOfOptionMultiselect"
2146
+ "name": "DividerControlRenderer",
2147
+ "type": {
2148
+ "text": "RendererEntry"
2149
+ },
2150
+ "default": "{\n renderer: html`\n ${(x) => DividerControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DIVIDER_CONTROL_RANK, (args) => {\n return args.options?.divider === true;\n }),\n mapper: mapStateToControlProps,\n}"
2132
2151
  }
2133
2152
  ],
2134
2153
  "exports": [
2135
2154
  {
2136
2155
  "kind": "js",
2137
- "name": "isOneOfOptionMultiselect",
2156
+ "name": "DividerControlRendererTemplate",
2138
2157
  "declaration": {
2139
- "name": "isOneOfOptionMultiselect",
2140
- "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
2158
+ "name": "DividerControlRendererTemplate",
2159
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
2141
2160
  }
2142
- }
2143
- ]
2144
- },
2145
- {
2146
- "kind": "javascript-module",
2147
- "path": "src/jsonforms/testers/isTime.ts",
2148
- "declarations": [
2149
- {
2150
- "kind": "variable",
2151
- "name": "isOneOfTime"
2152
- }
2153
- ],
2154
- "exports": [
2161
+ },
2155
2162
  {
2156
2163
  "kind": "js",
2157
- "name": "isOneOfTime",
2164
+ "name": "DividerControlRenderer",
2158
2165
  "declaration": {
2159
- "name": "isOneOfTime",
2160
- "module": "src/jsonforms/testers/isTime.ts"
2166
+ "name": "DividerControlRenderer",
2167
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
2161
2168
  }
2162
2169
  }
2163
2170
  ]
2164
2171
  },
2165
2172
  {
2166
2173
  "kind": "javascript-module",
2167
- "path": "src/jsonforms/testers/optionIs.ts",
2174
+ "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2168
2175
  "declarations": [
2169
2176
  {
2170
2177
  "kind": "function",
2171
- "name": "optionIs",
2178
+ "name": "mapStateToEnumControlProps",
2172
2179
  "return": {
2173
2180
  "type": {
2174
- "text": "Tester"
2181
+ "text": "StatePropsOfControl & OwnPropsOfEnum"
2175
2182
  }
2176
2183
  },
2177
2184
  "parameters": [
2178
2185
  {
2179
- "name": "optionName",
2186
+ "name": "state",
2187
+ "type": {
2188
+ "text": "JsonFormsState"
2189
+ }
2190
+ },
2191
+ {
2192
+ "name": "ownProps",
2193
+ "type": {
2194
+ "text": "OwnPropsOfControl & OwnPropsOfEnum"
2195
+ }
2196
+ }
2197
+ ]
2198
+ },
2199
+ {
2200
+ "kind": "function",
2201
+ "name": "EnumControlRendererTemplate",
2202
+ "parameters": [
2203
+ {
2204
+ "name": "prefix",
2205
+ "default": "'zero'",
2180
2206
  "type": {
2181
2207
  "text": "string"
2182
2208
  }
2183
2209
  }
2184
2210
  ]
2211
+ },
2212
+ {
2213
+ "kind": "variable",
2214
+ "name": "EnumControlRendererEntry",
2215
+ "type": {
2216
+ "text": "RendererEntry"
2217
+ },
2218
+ "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2185
2219
  }
2186
2220
  ],
2187
2221
  "exports": [
2188
2222
  {
2189
2223
  "kind": "js",
2190
- "name": "optionIs",
2224
+ "name": "mapStateToEnumControlProps",
2191
2225
  "declaration": {
2192
- "name": "optionIs",
2193
- "module": "src/jsonforms/testers/optionIs.ts"
2226
+ "name": "mapStateToEnumControlProps",
2227
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2228
+ }
2229
+ },
2230
+ {
2231
+ "kind": "js",
2232
+ "name": "EnumControlRendererTemplate",
2233
+ "declaration": {
2234
+ "name": "EnumControlRendererTemplate",
2235
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2236
+ }
2237
+ },
2238
+ {
2239
+ "kind": "js",
2240
+ "name": "EnumControlRendererEntry",
2241
+ "declaration": {
2242
+ "name": "EnumControlRendererEntry",
2243
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2194
2244
  }
2195
2245
  }
2196
2246
  ]
2197
2247
  },
2198
2248
  {
2199
2249
  "kind": "javascript-module",
2200
- "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
2250
+ "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
2201
2251
  "declarations": [
2202
2252
  {
2203
2253
  "kind": "function",
2204
- "name": "ArrayListWrapperRendererTemplate",
2254
+ "name": "EnumRadioGroupControlRendererTemplate",
2205
2255
  "parameters": [
2206
2256
  {
2207
2257
  "name": "prefix",
@@ -2213,127 +2263,42 @@
2213
2263
  ]
2214
2264
  },
2215
2265
  {
2216
- "kind": "class",
2217
- "description": "",
2218
- "name": "ArrayListWrapper",
2219
- "members": [
2220
- {
2221
- "kind": "field",
2222
- "name": "form"
2223
- },
2224
- {
2225
- "kind": "field",
2226
- "name": "control"
2227
- },
2228
- {
2229
- "kind": "field",
2230
- "name": "schema"
2231
- },
2232
- {
2233
- "kind": "field",
2234
- "name": "uiSchema"
2235
- },
2236
- {
2237
- "kind": "field",
2238
- "name": "isGridView",
2239
- "type": {
2240
- "text": "boolean"
2241
- },
2242
- "default": "false"
2243
- },
2244
- {
2245
- "kind": "field",
2246
- "name": "gridViewHeaderCells",
2247
- "type": {
2248
- "text": "GridHeaderCell[]"
2249
- },
2250
- "default": "[]"
2251
- },
2252
- {
2253
- "kind": "field",
2254
- "name": "gridViewUiSchema",
2255
- "type": {
2256
- "text": "any"
2257
- },
2258
- "default": "null"
2259
- },
2260
- {
2261
- "kind": "method",
2262
- "name": "controlChanged"
2263
- },
2264
- {
2265
- "kind": "method",
2266
- "name": "addItem"
2267
- },
2268
- {
2269
- "kind": "method",
2270
- "name": "deleteItem",
2271
- "parameters": [
2272
- {
2273
- "name": "index",
2274
- "type": {
2275
- "text": "number"
2276
- }
2277
- }
2278
- ]
2279
- },
2280
- {
2281
- "kind": "method",
2282
- "name": "submitRow",
2283
- "parameters": [
2284
- {
2285
- "name": "index",
2286
- "type": {
2287
- "text": "number"
2288
- },
2289
- "description": "The row index to submit"
2290
- }
2291
- ],
2292
- "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
2293
- }
2294
- ],
2295
- "superclass": {
2296
- "name": "FASTElement",
2297
- "package": "@microsoft/fast-element"
2266
+ "kind": "variable",
2267
+ "name": "EnumRadioGroupControlRendererEntry",
2268
+ "type": {
2269
+ "text": "RendererEntry"
2298
2270
  },
2299
- "tagName": "array-list-wrapper",
2300
- "customElement": true
2271
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => EnumRadioGroupControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_RADIO_GROUP_CONTROL_RANK, optionIs('radio')),\n mapper: mapStateToControlProps,\n}",
2272
+ "description": "A JSON Forms renderer that renders enum options as a radio-group.\n\nActivated when the uischema element has `options.radio: true`.\nTakes precedence over other enum renderers due to its higher rank.\n\nOptions are typed via RadioGroupRendererOptions.",
2273
+ "privacy": "public"
2301
2274
  }
2302
2275
  ],
2303
2276
  "exports": [
2304
2277
  {
2305
2278
  "kind": "js",
2306
- "name": "ArrayListWrapperRendererTemplate",
2279
+ "name": "EnumRadioGroupControlRendererTemplate",
2307
2280
  "declaration": {
2308
- "name": "ArrayListWrapperRendererTemplate",
2309
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2281
+ "name": "EnumRadioGroupControlRendererTemplate",
2282
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2310
2283
  }
2311
2284
  },
2312
2285
  {
2313
2286
  "kind": "js",
2314
- "name": "ArrayListWrapper",
2315
- "declaration": {
2316
- "name": "ArrayListWrapper",
2317
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2318
- }
2319
- },
2320
- {
2321
- "kind": "custom-element-definition",
2322
- "name": "array-list-wrapper",
2287
+ "name": "EnumRadioGroupControlRendererEntry",
2323
2288
  "declaration": {
2324
- "name": "ArrayListWrapper",
2325
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2289
+ "name": "EnumRadioGroupControlRendererEntry",
2290
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2326
2291
  }
2327
2292
  }
2328
2293
  ]
2329
2294
  },
2330
2295
  {
2331
2296
  "kind": "javascript-module",
2332
- "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
2297
+ "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
2333
2298
  "declarations": [
2334
2299
  {
2335
2300
  "kind": "function",
2336
- "name": "BooleanControlRendererTemplate",
2301
+ "name": "DateControlRendererTemplate",
2337
2302
  "parameters": [
2338
2303
  {
2339
2304
  "name": "prefix",
@@ -2346,132 +2311,84 @@
2346
2311
  },
2347
2312
  {
2348
2313
  "kind": "variable",
2349
- "name": "BooleanControlEntry",
2314
+ "name": "FilterDateControlRendererEntry",
2350
2315
  "type": {
2351
2316
  "text": "RendererEntry"
2352
2317
  },
2353
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
2318
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2354
2319
  }
2355
2320
  ],
2356
2321
  "exports": [
2357
2322
  {
2358
2323
  "kind": "js",
2359
- "name": "BooleanControlRendererTemplate",
2324
+ "name": "DateControlRendererTemplate",
2360
2325
  "declaration": {
2361
- "name": "BooleanControlRendererTemplate",
2362
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2326
+ "name": "DateControlRendererTemplate",
2327
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2363
2328
  }
2364
2329
  },
2365
2330
  {
2366
2331
  "kind": "js",
2367
- "name": "BooleanControlEntry",
2332
+ "name": "FilterDateControlRendererEntry",
2368
2333
  "declaration": {
2369
- "name": "BooleanControlEntry",
2370
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2334
+ "name": "FilterDateControlRendererEntry",
2335
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2371
2336
  }
2372
2337
  }
2373
2338
  ]
2374
2339
  },
2375
2340
  {
2376
2341
  "kind": "javascript-module",
2377
- "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2342
+ "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
2378
2343
  "declarations": [
2379
- {
2380
- "kind": "variable",
2381
- "name": "tabControlIconStyles",
2382
- "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2383
- },
2384
2344
  {
2385
2345
  "kind": "function",
2386
- "name": "CategorizationWrapperRendererTemplate",
2346
+ "name": "FilterNumberControlRendererTemplate",
2387
2347
  "parameters": [
2388
2348
  {
2389
2349
  "name": "prefix",
2390
- "default": "'zero'"
2350
+ "default": "'zero'",
2351
+ "type": {
2352
+ "text": "string"
2353
+ }
2391
2354
  }
2392
2355
  ]
2393
2356
  },
2394
2357
  {
2395
- "kind": "class",
2396
- "description": "",
2397
- "name": "CategorizationWrapper",
2398
- "members": [
2399
- {
2400
- "kind": "field",
2401
- "name": "form"
2402
- },
2403
- {
2404
- "kind": "field",
2405
- "name": "control"
2406
- },
2407
- {
2408
- "kind": "method",
2409
- "name": "hasCategoryError",
2410
- "return": {
2411
- "type": {
2412
- "text": "boolean"
2413
- }
2414
- },
2415
- "parameters": [
2416
- {
2417
- "name": "categoryIndex",
2418
- "type": {
2419
- "text": "number"
2420
- }
2421
- }
2422
- ]
2423
- }
2424
- ],
2425
- "superclass": {
2426
- "name": "FASTElement",
2427
- "package": "@microsoft/fast-element"
2358
+ "kind": "variable",
2359
+ "name": "FilterNumberControlRendererEntry",
2360
+ "type": {
2361
+ "text": "RendererEntry"
2428
2362
  },
2429
- "tagName": "categorization-wrapper",
2430
- "customElement": true
2363
+ "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
2431
2364
  }
2432
2365
  ],
2433
2366
  "exports": [
2434
2367
  {
2435
2368
  "kind": "js",
2436
- "name": "tabControlIconStyles",
2437
- "declaration": {
2438
- "name": "tabControlIconStyles",
2439
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2440
- }
2441
- },
2442
- {
2443
- "kind": "js",
2444
- "name": "CategorizationWrapperRendererTemplate",
2369
+ "name": "FilterNumberControlRendererTemplate",
2445
2370
  "declaration": {
2446
- "name": "CategorizationWrapperRendererTemplate",
2447
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2371
+ "name": "FilterNumberControlRendererTemplate",
2372
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2448
2373
  }
2449
2374
  },
2450
2375
  {
2451
2376
  "kind": "js",
2452
- "name": "CategorizationWrapper",
2453
- "declaration": {
2454
- "name": "CategorizationWrapper",
2455
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2456
- }
2457
- },
2458
- {
2459
- "kind": "custom-element-definition",
2460
- "name": "categorization-wrapper",
2377
+ "name": "FilterNumberControlRendererEntry",
2461
2378
  "declaration": {
2462
- "name": "CategorizationWrapper",
2463
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2379
+ "name": "FilterNumberControlRendererEntry",
2380
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2464
2381
  }
2465
2382
  }
2466
2383
  ]
2467
2384
  },
2468
2385
  {
2469
2386
  "kind": "javascript-module",
2470
- "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2387
+ "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
2471
2388
  "declarations": [
2472
2389
  {
2473
2390
  "kind": "function",
2474
- "name": "ConnectedMultiselectControlRendererTemplate",
2391
+ "name": "TimeControlRendererTemplate",
2475
2392
  "parameters": [
2476
2393
  {
2477
2394
  "name": "prefix",
@@ -2484,1119 +2401,690 @@
2484
2401
  },
2485
2402
  {
2486
2403
  "kind": "variable",
2487
- "name": "ConnectedMultiselectControlRendererEntry",
2404
+ "name": "FilterTimeControlRendererEntry",
2488
2405
  "type": {
2489
2406
  "text": "RendererEntry"
2490
2407
  },
2491
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
2408
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
2492
2409
  }
2493
2410
  ],
2494
2411
  "exports": [
2495
2412
  {
2496
2413
  "kind": "js",
2497
- "name": "ConnectedMultiselectControlRendererTemplate",
2414
+ "name": "TimeControlRendererTemplate",
2498
2415
  "declaration": {
2499
- "name": "ConnectedMultiselectControlRendererTemplate",
2500
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2416
+ "name": "TimeControlRendererTemplate",
2417
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2501
2418
  }
2502
2419
  },
2503
2420
  {
2504
2421
  "kind": "js",
2505
- "name": "ConnectedMultiselectControlRendererEntry",
2422
+ "name": "FilterTimeControlRendererEntry",
2506
2423
  "declaration": {
2507
- "name": "ConnectedMultiselectControlRendererEntry",
2508
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2424
+ "name": "FilterTimeControlRendererEntry",
2425
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2509
2426
  }
2510
2427
  }
2511
2428
  ]
2512
2429
  },
2513
2430
  {
2514
2431
  "kind": "javascript-module",
2515
- "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
2432
+ "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
2516
2433
  "declarations": [
2517
2434
  {
2518
- "kind": "function",
2519
- "name": "ConnectedSelectControlRendererTemplate",
2520
- "parameters": [
2521
- {
2522
- "name": "prefix",
2523
- "default": "'zero'",
2524
- "type": {
2525
- "text": "string"
2526
- }
2527
- }
2528
- ]
2435
+ "kind": "variable",
2436
+ "name": "InvisibleControlRendererTemplate",
2437
+ "default": "html<DispatchRenderer>`\n <template>\n <pre\n :value=${(x) => x.control.data || ''}\n id=${(x) => x.control.path}\n data-test-id=${(x) => x.control.path}\n style=\"display: none\"\n ></pre>\n </template>\n`"
2529
2438
  },
2530
2439
  {
2531
2440
  "kind": "variable",
2532
- "name": "ConnectedSelectControlRendererEntry",
2441
+ "name": "InvisibleControlEntry",
2533
2442
  "type": {
2534
- "text": "any"
2443
+ "text": "RendererEntry"
2535
2444
  },
2536
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedSelectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(SELECT_CONTROL_RANK, or(optionIs('allOptionsResourceName'), optionIs('data'))),\n mapper: mapStateToControlProps,\n}"
2445
+ "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
2537
2446
  }
2538
2447
  ],
2539
2448
  "exports": [
2540
2449
  {
2541
2450
  "kind": "js",
2542
- "name": "ConnectedSelectControlRendererTemplate",
2451
+ "name": "InvisibleControlRendererTemplate",
2543
2452
  "declaration": {
2544
- "name": "ConnectedSelectControlRendererTemplate",
2545
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2453
+ "name": "InvisibleControlRendererTemplate",
2454
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2546
2455
  }
2547
2456
  },
2548
2457
  {
2549
2458
  "kind": "js",
2550
- "name": "ConnectedSelectControlRendererEntry",
2459
+ "name": "InvisibleControlEntry",
2551
2460
  "declaration": {
2552
- "name": "ConnectedSelectControlRendererEntry",
2553
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2461
+ "name": "InvisibleControlEntry",
2462
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2554
2463
  }
2555
2464
  }
2556
2465
  ]
2557
2466
  },
2558
2467
  {
2559
2468
  "kind": "javascript-module",
2560
- "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2469
+ "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
2561
2470
  "declarations": [
2562
2471
  {
2563
- "kind": "function",
2564
- "name": "controlWrapperTemplate",
2565
- "return": {
2566
- "type": {
2567
- "text": "ViewTemplate<DispatchRenderer>"
2568
- }
2569
- },
2570
- "parameters": [
2571
- {
2572
- "name": "options",
2573
- "type": {
2574
- "text": "ControlWrapperOptions"
2575
- }
2576
- }
2577
- ],
2578
- "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.",
2579
- "privacy": "public"
2472
+ "kind": "variable",
2473
+ "name": "LayoutArrayRendererTemplate",
2474
+ "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`"
2580
2475
  },
2581
2476
  {
2582
- "kind": "class",
2583
- "description": "",
2584
- "name": "ControlWrapper",
2585
- "members": [
2586
- {
2587
- "kind": "field",
2588
- "name": "control"
2589
- },
2590
- {
2591
- "kind": "field",
2592
- "name": "jsonForms"
2593
- },
2594
- {
2595
- "kind": "field",
2596
- "name": "touched",
2597
- "type": {
2598
- "text": "boolean"
2599
- }
2600
- },
2601
- {
2602
- "kind": "field",
2603
- "name": "hideLabel",
2604
- "type": {
2605
- "text": "boolean"
2606
- },
2607
- "default": "false"
2608
- },
2609
- {
2610
- "kind": "field",
2611
- "name": "prefix",
2612
- "type": {
2613
- "text": "string"
2614
- }
2615
- },
2616
- {
2617
- "kind": "field",
2618
- "name": "showDescription",
2619
- "readonly": true
2620
- },
2621
- {
2622
- "kind": "field",
2623
- "name": "computedLabel",
2624
- "readonly": true
2625
- },
2626
- {
2627
- "kind": "field",
2628
- "name": "getPrefixedTooltip",
2629
- "readonly": true
2630
- },
2631
- {
2632
- "kind": "field",
2633
- "name": "anyOfError",
2634
- "readonly": true
2635
- }
2636
- ],
2637
- "attributes": [
2638
- {
2639
- "name": "hide-label",
2640
- "type": {
2641
- "text": "boolean"
2642
- },
2643
- "default": "false",
2644
- "fieldName": "hideLabel"
2645
- },
2646
- {
2647
- "name": "prefix",
2648
- "type": {
2649
- "text": "string"
2650
- },
2651
- "fieldName": "prefix"
2652
- }
2653
- ],
2654
- "superclass": {
2655
- "name": "FASTElement",
2656
- "package": "@microsoft/fast-element"
2477
+ "kind": "variable",
2478
+ "name": "LayoutArrayRendererEntry",
2479
+ "type": {
2480
+ "text": "any"
2657
2481
  },
2658
- "deprecated": "Use `controlWrapperTemplate` instead. The `<control-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `controlWrapperTemplate` function which renders inline within the parent renderer's template.",
2659
- "tagName": "control-wrapper",
2660
- "customElement": true
2482
+ "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
2661
2483
  }
2662
2484
  ],
2663
2485
  "exports": [
2664
2486
  {
2665
2487
  "kind": "js",
2666
- "name": "controlWrapperTemplate",
2488
+ "name": "LayoutArrayRendererTemplate",
2667
2489
  "declaration": {
2668
- "name": "controlWrapperTemplate",
2669
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2490
+ "name": "LayoutArrayRendererTemplate",
2491
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2670
2492
  }
2671
2493
  },
2672
2494
  {
2673
2495
  "kind": "js",
2674
- "name": "ControlWrapper",
2675
- "declaration": {
2676
- "name": "ControlWrapper",
2677
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2678
- }
2679
- },
2680
- {
2681
- "kind": "custom-element-definition",
2682
- "name": "control-wrapper",
2496
+ "name": "LayoutArrayRendererEntry",
2683
2497
  "declaration": {
2684
- "name": "ControlWrapper",
2685
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2498
+ "name": "LayoutArrayRendererEntry",
2499
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2686
2500
  }
2687
2501
  }
2688
2502
  ]
2689
2503
  },
2690
2504
  {
2691
2505
  "kind": "javascript-module",
2692
- "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2506
+ "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
2693
2507
  "declarations": [
2694
2508
  {
2695
- "kind": "function",
2696
- "name": "DateControlRendererTemplate",
2697
- "parameters": [
2698
- {
2699
- "name": "prefix",
2700
- "default": "'zero'",
2701
- "type": {
2702
- "text": "string"
2703
- }
2704
- }
2705
- ]
2509
+ "kind": "variable",
2510
+ "name": "LayoutCategorizationRendererTemplate",
2511
+ "default": "html`\n <template>\n <categorization-wrapper :form=${(x) => x} :control=${(x) => x.control}></categorization-wrapper>\n </template>\n`"
2706
2512
  },
2707
2513
  {
2708
2514
  "kind": "variable",
2709
- "name": "DateControlRendererEntry",
2515
+ "name": "LayoutCategorizationRendererEntry",
2710
2516
  "type": {
2711
- "text": "RendererEntry"
2517
+ "text": "any"
2712
2518
  },
2713
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2519
+ "default": "{\n renderer: LayoutCategorizationRendererTemplate,\n tester: rankWith(LAYOUT_CATEGORIZATION_RANK, (uiSchema) => uiSchema.type === 'Categorization'),\n mapper: mapStateToLayoutProps,\n}"
2714
2520
  }
2715
2521
  ],
2716
2522
  "exports": [
2717
2523
  {
2718
2524
  "kind": "js",
2719
- "name": "DateControlRendererTemplate",
2525
+ "name": "LayoutCategorizationRendererTemplate",
2720
2526
  "declaration": {
2721
- "name": "DateControlRendererTemplate",
2722
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2527
+ "name": "LayoutCategorizationRendererTemplate",
2528
+ "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2723
2529
  }
2724
2530
  },
2725
2531
  {
2726
2532
  "kind": "js",
2727
- "name": "DateControlRendererEntry",
2533
+ "name": "LayoutCategorizationRendererEntry",
2728
2534
  "declaration": {
2729
- "name": "DateControlRendererEntry",
2730
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2535
+ "name": "LayoutCategorizationRendererEntry",
2536
+ "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2731
2537
  }
2732
2538
  }
2733
2539
  ]
2734
2540
  },
2735
2541
  {
2736
2542
  "kind": "javascript-module",
2737
- "path": "src/jsonforms/renderers/DividerRenderer.ts",
2543
+ "path": "src/jsonforms/renderers/LayoutFormGridRenderer.ts",
2738
2544
  "declarations": [
2739
2545
  {
2740
- "kind": "function",
2741
- "name": "DividerControlRendererTemplate",
2742
- "parameters": [
2743
- {
2744
- "name": "prefix",
2745
- "default": "'zero'",
2746
- "type": {
2747
- "text": "string"
2748
- }
2749
- }
2750
- ]
2546
+ "kind": "variable",
2547
+ "name": "LayoutFormGridRendererTemplate",
2548
+ "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`"
2751
2549
  },
2752
2550
  {
2753
2551
  "kind": "variable",
2754
- "name": "DividerControlRenderer",
2552
+ "name": "LayoutFormGridEntry",
2755
2553
  "type": {
2756
- "text": "RendererEntry"
2554
+ "text": "any"
2757
2555
  },
2758
- "default": "{\n renderer: html`\n ${(x) => DividerControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DIVIDER_CONTROL_RANK, (args) => {\n return args.options?.divider === true;\n }),\n mapper: mapStateToControlProps,\n}"
2556
+ "default": "{\n renderer: LayoutFormGridRendererTemplate,\n tester: rankWith(LAYOUT_FORM_GRID_RANK, (uiSchema) => uiSchema.type === 'FormGridLayout'),\n mapper: mapStateToLayoutProps,\n}"
2759
2557
  }
2760
2558
  ],
2761
2559
  "exports": [
2762
2560
  {
2763
2561
  "kind": "js",
2764
- "name": "DividerControlRendererTemplate",
2562
+ "name": "LayoutFormGridRendererTemplate",
2765
2563
  "declaration": {
2766
- "name": "DividerControlRendererTemplate",
2767
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2564
+ "name": "LayoutFormGridRendererTemplate",
2565
+ "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
2768
2566
  }
2769
2567
  },
2770
2568
  {
2771
2569
  "kind": "js",
2772
- "name": "DividerControlRenderer",
2570
+ "name": "LayoutFormGridEntry",
2773
2571
  "declaration": {
2774
- "name": "DividerControlRenderer",
2775
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2572
+ "name": "LayoutFormGridEntry",
2573
+ "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
2776
2574
  }
2777
2575
  }
2778
2576
  ]
2779
2577
  },
2780
2578
  {
2781
2579
  "kind": "javascript-module",
2782
- "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2580
+ "path": "src/jsonforms/renderers/LayoutGroupRenderer.ts",
2783
2581
  "declarations": [
2784
2582
  {
2785
- "kind": "function",
2786
- "name": "mapStateToEnumControlProps",
2787
- "return": {
2788
- "type": {
2789
- "text": "StatePropsOfControl & OwnPropsOfEnum"
2790
- }
2791
- },
2792
- "parameters": [
2793
- {
2794
- "name": "state",
2795
- "type": {
2796
- "text": "JsonFormsState"
2797
- }
2798
- },
2799
- {
2800
- "name": "ownProps",
2801
- "type": {
2802
- "text": "OwnPropsOfControl & OwnPropsOfEnum"
2803
- }
2804
- }
2805
- ]
2806
- },
2807
- {
2808
- "kind": "function",
2809
- "name": "EnumControlRendererTemplate",
2810
- "parameters": [
2811
- {
2812
- "name": "prefix",
2813
- "default": "'zero'",
2814
- "type": {
2815
- "text": "string"
2816
- }
2817
- }
2818
- ]
2583
+ "kind": "variable",
2584
+ "name": "LayoutGroupRendererTemplate",
2585
+ "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`"
2819
2586
  },
2820
2587
  {
2821
2588
  "kind": "variable",
2822
- "name": "EnumControlRendererEntry",
2589
+ "name": "LayoutGroupRendererEntry",
2823
2590
  "type": {
2824
- "text": "RendererEntry"
2591
+ "text": "any"
2825
2592
  },
2826
- "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2593
+ "default": "{\n renderer: LayoutGroupRendererTemplate,\n tester: rankWith(LAYOUT_GROUP_RANK, isGroup),\n mapper: mapStateToLayoutProps,\n}"
2827
2594
  }
2828
2595
  ],
2829
2596
  "exports": [
2830
2597
  {
2831
2598
  "kind": "js",
2832
- "name": "mapStateToEnumControlProps",
2599
+ "name": "LayoutGroupRendererTemplate",
2833
2600
  "declaration": {
2834
- "name": "mapStateToEnumControlProps",
2835
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2601
+ "name": "LayoutGroupRendererTemplate",
2602
+ "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
2836
2603
  }
2837
2604
  },
2838
2605
  {
2839
2606
  "kind": "js",
2840
- "name": "EnumControlRendererTemplate",
2841
- "declaration": {
2842
- "name": "EnumControlRendererTemplate",
2843
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2844
- }
2845
- },
2846
- {
2847
- "kind": "js",
2848
- "name": "EnumControlRendererEntry",
2607
+ "name": "LayoutGroupRendererEntry",
2849
2608
  "declaration": {
2850
- "name": "EnumControlRendererEntry",
2851
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2609
+ "name": "LayoutGroupRendererEntry",
2610
+ "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
2852
2611
  }
2853
2612
  }
2854
2613
  ]
2855
2614
  },
2856
2615
  {
2857
2616
  "kind": "javascript-module",
2858
- "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
2617
+ "path": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts",
2859
2618
  "declarations": [
2860
2619
  {
2861
- "kind": "function",
2862
- "name": "EnumRadioGroupControlRendererTemplate",
2863
- "parameters": [
2864
- {
2865
- "name": "prefix",
2866
- "default": "'zero'",
2867
- "type": {
2868
- "text": "string"
2869
- }
2870
- }
2871
- ]
2620
+ "kind": "variable",
2621
+ "name": "LayoutHorizontalRendererTemplate",
2622
+ "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`"
2872
2623
  },
2873
2624
  {
2874
2625
  "kind": "variable",
2875
- "name": "EnumRadioGroupControlRendererEntry",
2626
+ "name": "LayoutHorizontalEntry",
2876
2627
  "type": {
2877
- "text": "RendererEntry"
2628
+ "text": "any"
2878
2629
  },
2879
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => EnumRadioGroupControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_RADIO_GROUP_CONTROL_RANK, optionIs('radio')),\n mapper: mapStateToControlProps,\n}",
2880
- "description": "A JSON Forms renderer that renders enum options as a radio-group.\n\nActivated when the uischema element has `options.radio: true`.\nTakes precedence over other enum renderers due to its higher rank.\n\nOptions are typed via RadioGroupRendererOptions.",
2881
- "privacy": "public"
2630
+ "default": "{\n renderer: LayoutHorizontalRendererTemplate,\n tester: rankWith(LAYOUT_HORIZONTAL_RANK, (uiSchema) => uiSchema.type === 'HorizontalLayout'),\n mapper: mapStateToLayoutProps,\n}"
2882
2631
  }
2883
2632
  ],
2884
2633
  "exports": [
2885
2634
  {
2886
2635
  "kind": "js",
2887
- "name": "EnumRadioGroupControlRendererTemplate",
2636
+ "name": "LayoutHorizontalRendererTemplate",
2888
2637
  "declaration": {
2889
- "name": "EnumRadioGroupControlRendererTemplate",
2890
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2638
+ "name": "LayoutHorizontalRendererTemplate",
2639
+ "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
2891
2640
  }
2892
2641
  },
2893
2642
  {
2894
2643
  "kind": "js",
2895
- "name": "EnumRadioGroupControlRendererEntry",
2644
+ "name": "LayoutHorizontalEntry",
2896
2645
  "declaration": {
2897
- "name": "EnumRadioGroupControlRendererEntry",
2898
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2646
+ "name": "LayoutHorizontalEntry",
2647
+ "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
2899
2648
  }
2900
2649
  }
2901
2650
  ]
2902
2651
  },
2903
2652
  {
2904
2653
  "kind": "javascript-module",
2905
- "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
2654
+ "path": "src/jsonforms/renderers/LayoutRenderer.ts",
2906
2655
  "declarations": [
2907
2656
  {
2908
2657
  "kind": "function",
2909
- "name": "DateControlRendererTemplate",
2658
+ "name": "layoutWrapperTemplate",
2659
+ "return": {
2660
+ "type": {
2661
+ "text": "ViewTemplate<DispatchRenderer>"
2662
+ }
2663
+ },
2910
2664
  "parameters": [
2911
2665
  {
2912
- "name": "prefix",
2913
- "default": "'zero'",
2666
+ "name": "options",
2914
2667
  "type": {
2915
- "text": "string"
2668
+ "text": "LayoutWrapperOptions"
2916
2669
  }
2917
2670
  }
2918
- ]
2671
+ ],
2672
+ "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.",
2673
+ "privacy": "public"
2919
2674
  },
2920
2675
  {
2921
2676
  "kind": "variable",
2922
- "name": "FilterDateControlRendererEntry",
2677
+ "name": "LayoutRendererTemplate",
2678
+ "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`"
2679
+ },
2680
+ {
2681
+ "kind": "variable",
2682
+ "name": "LayoutRendererEntry",
2923
2683
  "type": {
2924
- "text": "RendererEntry"
2684
+ "text": "any"
2925
2685
  },
2926
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2686
+ "default": "{\n renderer: LayoutRendererTemplate,\n tester: rankWith(LAYOUT_RANK, isLayout),\n mapper: mapStateToLayoutProps,\n}"
2687
+ },
2688
+ {
2689
+ "kind": "class",
2690
+ "description": "",
2691
+ "name": "LayoutWrapper",
2692
+ "members": [
2693
+ {
2694
+ "kind": "field",
2695
+ "name": "control"
2696
+ },
2697
+ {
2698
+ "kind": "field",
2699
+ "name": "hideLabel",
2700
+ "type": {
2701
+ "text": "boolean"
2702
+ },
2703
+ "default": "false"
2704
+ }
2705
+ ],
2706
+ "attributes": [
2707
+ {
2708
+ "name": "hide-label",
2709
+ "type": {
2710
+ "text": "boolean"
2711
+ },
2712
+ "default": "false",
2713
+ "fieldName": "hideLabel"
2714
+ }
2715
+ ],
2716
+ "superclass": {
2717
+ "name": "FASTElement",
2718
+ "package": "@microsoft/fast-element"
2719
+ },
2720
+ "deprecated": "Use `layoutWrapperTemplate` instead. The `<layout-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `layoutWrapperTemplate` function which renders inline within the parent renderer's template.",
2721
+ "tagName": "layout-wrapper",
2722
+ "customElement": true
2927
2723
  }
2928
2724
  ],
2929
2725
  "exports": [
2930
2726
  {
2931
2727
  "kind": "js",
2932
- "name": "DateControlRendererTemplate",
2728
+ "name": "layoutWrapperTemplate",
2933
2729
  "declaration": {
2934
- "name": "DateControlRendererTemplate",
2935
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2730
+ "name": "layoutWrapperTemplate",
2731
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
2936
2732
  }
2937
2733
  },
2938
2734
  {
2939
2735
  "kind": "js",
2940
- "name": "FilterDateControlRendererEntry",
2736
+ "name": "LayoutRendererTemplate",
2941
2737
  "declaration": {
2942
- "name": "FilterDateControlRendererEntry",
2943
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2738
+ "name": "LayoutRendererTemplate",
2739
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
2944
2740
  }
2945
- }
2946
- ]
2947
- },
2948
- {
2949
- "kind": "javascript-module",
2950
- "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
2951
- "declarations": [
2952
- {
2953
- "kind": "function",
2954
- "name": "FilterNumberControlRendererTemplate",
2955
- "parameters": [
2956
- {
2957
- "name": "prefix",
2958
- "default": "'zero'",
2959
- "type": {
2960
- "text": "string"
2961
- }
2962
- }
2963
- ]
2964
2741
  },
2965
- {
2966
- "kind": "variable",
2967
- "name": "FilterNumberControlRendererEntry",
2968
- "type": {
2969
- "text": "RendererEntry"
2970
- },
2971
- "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
2972
- }
2973
- ],
2974
- "exports": [
2975
2742
  {
2976
2743
  "kind": "js",
2977
- "name": "FilterNumberControlRendererTemplate",
2744
+ "name": "LayoutRendererEntry",
2978
2745
  "declaration": {
2979
- "name": "FilterNumberControlRendererTemplate",
2980
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2746
+ "name": "LayoutRendererEntry",
2747
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
2981
2748
  }
2982
2749
  },
2983
2750
  {
2984
2751
  "kind": "js",
2985
- "name": "FilterNumberControlRendererEntry",
2752
+ "name": "LayoutWrapper",
2986
2753
  "declaration": {
2987
- "name": "FilterNumberControlRendererEntry",
2988
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2754
+ "name": "LayoutWrapper",
2755
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
2756
+ }
2757
+ },
2758
+ {
2759
+ "kind": "custom-element-definition",
2760
+ "name": "layout-wrapper",
2761
+ "declaration": {
2762
+ "name": "LayoutWrapper",
2763
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
2989
2764
  }
2990
2765
  }
2991
2766
  ]
2992
2767
  },
2993
2768
  {
2994
2769
  "kind": "javascript-module",
2995
- "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
2770
+ "path": "src/jsonforms/renderers/LayoutStepperRenderer.ts",
2996
2771
  "declarations": [
2997
2772
  {
2998
- "kind": "function",
2999
- "name": "TimeControlRendererTemplate",
3000
- "parameters": [
3001
- {
3002
- "name": "prefix",
3003
- "default": "'zero'",
3004
- "type": {
3005
- "text": "string"
3006
- }
3007
- }
3008
- ]
2773
+ "kind": "variable",
2774
+ "name": "LayoutStepperRendererTemplate",
2775
+ "default": "html`\n <template>\n <stepper-wrapper :form=${(x) => x} :control=${(x) => x.control}></stepper-wrapper>\n </template>\n`"
3009
2776
  },
3010
2777
  {
3011
2778
  "kind": "variable",
3012
- "name": "FilterTimeControlRendererEntry",
2779
+ "name": "LayoutStepperRendererEntry",
3013
2780
  "type": {
3014
- "text": "RendererEntry"
2781
+ "text": "any"
3015
2782
  },
3016
- "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
2783
+ "default": "{\n renderer: LayoutStepperRendererTemplate,\n tester: rankWith(LAYOUT_STEPPER_RANK, (uiSchema) => uiSchema.type === 'Stepper'),\n mapper: mapStateToLayoutProps,\n}"
3017
2784
  }
3018
2785
  ],
3019
2786
  "exports": [
3020
2787
  {
3021
2788
  "kind": "js",
3022
- "name": "TimeControlRendererTemplate",
2789
+ "name": "LayoutStepperRendererTemplate",
3023
2790
  "declaration": {
3024
- "name": "TimeControlRendererTemplate",
3025
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2791
+ "name": "LayoutStepperRendererTemplate",
2792
+ "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
3026
2793
  }
3027
2794
  },
3028
2795
  {
3029
2796
  "kind": "js",
3030
- "name": "FilterTimeControlRendererEntry",
2797
+ "name": "LayoutStepperRendererEntry",
3031
2798
  "declaration": {
3032
- "name": "FilterTimeControlRendererEntry",
3033
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2799
+ "name": "LayoutStepperRendererEntry",
2800
+ "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
3034
2801
  }
3035
2802
  }
3036
2803
  ]
3037
2804
  },
3038
2805
  {
3039
2806
  "kind": "javascript-module",
3040
- "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
2807
+ "path": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts",
3041
2808
  "declarations": [
3042
2809
  {
3043
2810
  "kind": "variable",
3044
- "name": "InvisibleControlRendererTemplate",
3045
- "default": "html<DispatchRenderer>`\n <template>\n <pre\n :value=${(x) => x.control.data || ''}\n id=${(x) => x.control.path}\n data-test-id=${(x) => x.control.path}\n style=\"display: none\"\n ></pre>\n </template>\n`"
2811
+ "name": "LayoutVertical2ColumnsRendererTemplate",
2812
+ "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`"
3046
2813
  },
3047
2814
  {
3048
2815
  "kind": "variable",
3049
- "name": "InvisibleControlEntry",
2816
+ "name": "LayoutVertical2ColumnsEntry",
3050
2817
  "type": {
3051
- "text": "RendererEntry"
2818
+ "text": "any"
3052
2819
  },
3053
- "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
2820
+ "default": "{\n renderer: LayoutVertical2ColumnsRendererTemplate,\n tester: rankWith(LAYOUT2COLUMNS_RANK, (uiSchema) => uiSchema.type === 'LayoutVertical2Columns'),\n mapper: mapStateToLayoutProps,\n}"
3054
2821
  }
3055
2822
  ],
3056
2823
  "exports": [
3057
2824
  {
3058
2825
  "kind": "js",
3059
- "name": "InvisibleControlRendererTemplate",
2826
+ "name": "LayoutVertical2ColumnsRendererTemplate",
3060
2827
  "declaration": {
3061
- "name": "InvisibleControlRendererTemplate",
3062
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2828
+ "name": "LayoutVertical2ColumnsRendererTemplate",
2829
+ "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
3063
2830
  }
3064
2831
  },
3065
2832
  {
3066
2833
  "kind": "js",
3067
- "name": "InvisibleControlEntry",
2834
+ "name": "LayoutVertical2ColumnsEntry",
3068
2835
  "declaration": {
3069
- "name": "InvisibleControlEntry",
3070
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2836
+ "name": "LayoutVertical2ColumnsEntry",
2837
+ "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
3071
2838
  }
3072
2839
  }
3073
2840
  ]
3074
2841
  },
3075
2842
  {
3076
2843
  "kind": "javascript-module",
3077
- "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
2844
+ "path": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts",
3078
2845
  "declarations": [
3079
2846
  {
3080
2847
  "kind": "variable",
3081
- "name": "LayoutArrayRendererTemplate",
3082
- "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`"
2848
+ "name": "LayoutVerticalCategorizationRendererTemplate",
2849
+ "default": "html`\n <template>\n <vertical-categorization-wrapper\n :form=${(x) => x}\n :control=${(x) => x.control}\n height=${(x) =>\n getVerticalCategorizationHeight(\n (x.control.uischema.options as CategorizationLayoutOptions | undefined)?.layout,\n ) ?? ''}\n ></vertical-categorization-wrapper>\n </template>\n`"
3083
2850
  },
3084
2851
  {
3085
2852
  "kind": "variable",
3086
- "name": "LayoutArrayRendererEntry",
2853
+ "name": "LayoutVerticalCategorizationRendererEntry",
3087
2854
  "type": {
3088
2855
  "text": "any"
3089
2856
  },
3090
- "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
2857
+ "default": "{\n renderer: LayoutVerticalCategorizationRendererTemplate,\n tester: rankWith(\n LAYOUT_VERTICAL_CATEGORIZATION_RANK,\n (uiSchema) =>\n uiSchema.type === 'Categorization' &&\n isVerticalCategorizationLayout(\n (uiSchema.options as CategorizationLayoutOptions | undefined)?.layout,\n ),\n ),\n mapper: mapStateToLayoutProps,\n}"
3091
2858
  }
3092
2859
  ],
3093
2860
  "exports": [
3094
2861
  {
3095
2862
  "kind": "js",
3096
- "name": "LayoutArrayRendererTemplate",
2863
+ "name": "LayoutVerticalCategorizationRendererTemplate",
3097
2864
  "declaration": {
3098
- "name": "LayoutArrayRendererTemplate",
3099
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2865
+ "name": "LayoutVerticalCategorizationRendererTemplate",
2866
+ "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
3100
2867
  }
3101
2868
  },
3102
2869
  {
3103
2870
  "kind": "js",
3104
- "name": "LayoutArrayRendererEntry",
2871
+ "name": "LayoutVerticalCategorizationRendererEntry",
3105
2872
  "declaration": {
3106
- "name": "LayoutArrayRendererEntry",
3107
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2873
+ "name": "LayoutVerticalCategorizationRendererEntry",
2874
+ "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
3108
2875
  }
3109
2876
  }
3110
2877
  ]
3111
2878
  },
3112
2879
  {
3113
2880
  "kind": "javascript-module",
3114
- "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
2881
+ "path": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts",
3115
2882
  "declarations": [
3116
2883
  {
3117
- "kind": "variable",
3118
- "name": "LayoutCategorizationRendererTemplate",
3119
- "default": "html`\n <template>\n <categorization-wrapper :form=${(x) => x} :control=${(x) => x.control}></categorization-wrapper>\n </template>\n`"
2884
+ "kind": "function",
2885
+ "name": "MulticolumnDropdownControlRendererTemplate",
2886
+ "parameters": [
2887
+ {
2888
+ "name": "prefix",
2889
+ "default": "'zero'",
2890
+ "type": {
2891
+ "text": "string"
2892
+ }
2893
+ }
2894
+ ]
3120
2895
  },
3121
2896
  {
3122
2897
  "kind": "variable",
3123
- "name": "LayoutCategorizationRendererEntry",
2898
+ "name": "MulticolumnDropdownControlRendererEntry",
3124
2899
  "type": {
3125
2900
  "text": "any"
3126
2901
  },
3127
- "default": "{\n renderer: LayoutCategorizationRendererTemplate,\n tester: rankWith(LAYOUT_CATEGORIZATION_RANK, (uiSchema) => uiSchema.type === 'Categorization'),\n mapper: mapStateToLayoutProps,\n}"
2902
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => MulticolumnDropdownControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTICOLUMN_DROPDOWN_CONTROL_RANK, optionIs('columnDefinitions')),\n mapper: mapStateToControlProps,\n}"
3128
2903
  }
3129
2904
  ],
3130
2905
  "exports": [
3131
2906
  {
3132
2907
  "kind": "js",
3133
- "name": "LayoutCategorizationRendererTemplate",
2908
+ "name": "MulticolumnDropdownControlRendererTemplate",
3134
2909
  "declaration": {
3135
- "name": "LayoutCategorizationRendererTemplate",
3136
- "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2910
+ "name": "MulticolumnDropdownControlRendererTemplate",
2911
+ "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3137
2912
  }
3138
2913
  },
3139
2914
  {
3140
2915
  "kind": "js",
3141
- "name": "LayoutCategorizationRendererEntry",
2916
+ "name": "MulticolumnDropdownControlRendererEntry",
3142
2917
  "declaration": {
3143
- "name": "LayoutCategorizationRendererEntry",
3144
- "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2918
+ "name": "MulticolumnDropdownControlRendererEntry",
2919
+ "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3145
2920
  }
3146
2921
  }
3147
2922
  ]
3148
2923
  },
3149
2924
  {
3150
2925
  "kind": "javascript-module",
3151
- "path": "src/jsonforms/renderers/LayoutFormGridRenderer.ts",
2926
+ "path": "src/jsonforms/renderers/NumberControlRenderer.ts",
3152
2927
  "declarations": [
3153
2928
  {
3154
- "kind": "variable",
3155
- "name": "LayoutFormGridRendererTemplate",
3156
- "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`"
2929
+ "kind": "function",
2930
+ "name": "NumberControlRendererTemplate",
2931
+ "parameters": [
2932
+ {
2933
+ "name": "prefix",
2934
+ "default": "'zero'",
2935
+ "type": {
2936
+ "text": "string"
2937
+ }
2938
+ }
2939
+ ]
3157
2940
  },
3158
2941
  {
3159
2942
  "kind": "variable",
3160
- "name": "LayoutFormGridEntry",
2943
+ "name": "NumberControlRendererEntry",
3161
2944
  "type": {
3162
- "text": "any"
2945
+ "text": "RendererEntry"
3163
2946
  },
3164
- "default": "{\n renderer: LayoutFormGridRendererTemplate,\n tester: rankWith(LAYOUT_FORM_GRID_RANK, (uiSchema) => uiSchema.type === 'FormGridLayout'),\n mapper: mapStateToLayoutProps,\n}"
2947
+ "default": "{\n renderer: html`\n ${(x) => NumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3165
2948
  }
3166
2949
  ],
3167
2950
  "exports": [
3168
2951
  {
3169
2952
  "kind": "js",
3170
- "name": "LayoutFormGridRendererTemplate",
2953
+ "name": "NumberControlRendererTemplate",
3171
2954
  "declaration": {
3172
- "name": "LayoutFormGridRendererTemplate",
3173
- "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
2955
+ "name": "NumberControlRendererTemplate",
2956
+ "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3174
2957
  }
3175
2958
  },
3176
2959
  {
3177
2960
  "kind": "js",
3178
- "name": "LayoutFormGridEntry",
2961
+ "name": "NumberControlRendererEntry",
3179
2962
  "declaration": {
3180
- "name": "LayoutFormGridEntry",
3181
- "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
2963
+ "name": "NumberControlRendererEntry",
2964
+ "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3182
2965
  }
3183
2966
  }
3184
2967
  ]
3185
2968
  },
3186
2969
  {
3187
2970
  "kind": "javascript-module",
3188
- "path": "src/jsonforms/renderers/LayoutGroupRenderer.ts",
2971
+ "path": "src/jsonforms/renderers/RenderersRanks.ts",
3189
2972
  "declarations": [
3190
2973
  {
3191
2974
  "kind": "variable",
3192
- "name": "LayoutGroupRendererTemplate",
3193
- "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`"
2975
+ "name": "NUMBER_CONTROL_RANK",
2976
+ "type": {
2977
+ "text": "number"
2978
+ },
2979
+ "default": "3"
3194
2980
  },
3195
2981
  {
3196
2982
  "kind": "variable",
3197
- "name": "LayoutGroupRendererEntry",
2983
+ "name": "BOOLEAN_CONTROL_RANK",
3198
2984
  "type": {
3199
- "text": "any"
2985
+ "text": "number"
3200
2986
  },
3201
- "default": "{\n renderer: LayoutGroupRendererTemplate,\n tester: rankWith(LAYOUT_GROUP_RANK, isGroup),\n mapper: mapStateToLayoutProps,\n}"
3202
- }
3203
- ],
3204
- "exports": [
3205
- {
3206
- "kind": "js",
3207
- "name": "LayoutGroupRendererTemplate",
3208
- "declaration": {
3209
- "name": "LayoutGroupRendererTemplate",
3210
- "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
3211
- }
2987
+ "default": "3"
3212
2988
  },
3213
- {
3214
- "kind": "js",
3215
- "name": "LayoutGroupRendererEntry",
3216
- "declaration": {
3217
- "name": "LayoutGroupRendererEntry",
3218
- "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
3219
- }
3220
- }
3221
- ]
3222
- },
3223
- {
3224
- "kind": "javascript-module",
3225
- "path": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts",
3226
- "declarations": [
3227
2989
  {
3228
2990
  "kind": "variable",
3229
- "name": "LayoutHorizontalRendererTemplate",
3230
- "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`"
2991
+ "name": "ARRAY_CONTROL_RANK",
2992
+ "type": {
2993
+ "text": "number"
2994
+ },
2995
+ "default": "3"
3231
2996
  },
3232
2997
  {
3233
2998
  "kind": "variable",
3234
- "name": "LayoutHorizontalEntry",
2999
+ "name": "MULTISELECT_CONTROL_RANK",
3235
3000
  "type": {
3236
- "text": "any"
3001
+ "text": "number"
3237
3002
  },
3238
- "default": "{\n renderer: LayoutHorizontalRendererTemplate,\n tester: rankWith(LAYOUT_HORIZONTAL_RANK, (uiSchema) => uiSchema.type === 'HorizontalLayout'),\n mapper: mapStateToLayoutProps,\n}"
3239
- }
3240
- ],
3241
- "exports": [
3242
- {
3243
- "kind": "js",
3244
- "name": "LayoutHorizontalRendererTemplate",
3245
- "declaration": {
3246
- "name": "LayoutHorizontalRendererTemplate",
3247
- "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
3248
- }
3003
+ "default": "4"
3249
3004
  },
3250
3005
  {
3251
- "kind": "js",
3252
- "name": "LayoutHorizontalEntry",
3253
- "declaration": {
3254
- "name": "LayoutHorizontalEntry",
3255
- "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
3256
- }
3257
- }
3258
- ]
3259
- },
3260
- {
3261
- "kind": "javascript-module",
3262
- "path": "src/jsonforms/renderers/LayoutRenderer.ts",
3263
- "declarations": [
3264
- {
3265
- "kind": "function",
3266
- "name": "layoutWrapperTemplate",
3267
- "return": {
3268
- "type": {
3269
- "text": "ViewTemplate<DispatchRenderer>"
3270
- }
3006
+ "kind": "variable",
3007
+ "name": "ENUM_CONTROL_RANK",
3008
+ "type": {
3009
+ "text": "number"
3271
3010
  },
3272
- "parameters": [
3273
- {
3274
- "name": "options",
3275
- "type": {
3276
- "text": "LayoutWrapperOptions"
3277
- }
3278
- }
3279
- ],
3280
- "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.",
3281
- "privacy": "public"
3011
+ "default": "3"
3282
3012
  },
3283
3013
  {
3284
3014
  "kind": "variable",
3285
- "name": "LayoutRendererTemplate",
3286
- "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`"
3015
+ "name": "SELECT_CONTROL_RANK",
3016
+ "type": {
3017
+ "text": "number"
3018
+ },
3019
+ "default": "4"
3287
3020
  },
3288
3021
  {
3289
3022
  "kind": "variable",
3290
- "name": "LayoutRendererEntry",
3023
+ "name": "DATE_CONTROL_RANK",
3291
3024
  "type": {
3292
- "text": "any"
3025
+ "text": "number"
3293
3026
  },
3294
- "default": "{\n renderer: LayoutRendererTemplate,\n tester: rankWith(LAYOUT_RANK, isLayout),\n mapper: mapStateToLayoutProps,\n}"
3027
+ "default": "4"
3295
3028
  },
3296
3029
  {
3297
- "kind": "class",
3298
- "description": "",
3299
- "name": "LayoutWrapper",
3300
- "members": [
3301
- {
3302
- "kind": "field",
3303
- "name": "control"
3304
- },
3305
- {
3306
- "kind": "field",
3307
- "name": "hideLabel",
3308
- "type": {
3309
- "text": "boolean"
3310
- },
3311
- "default": "false"
3312
- }
3313
- ],
3314
- "attributes": [
3315
- {
3316
- "name": "hide-label",
3317
- "type": {
3318
- "text": "boolean"
3319
- },
3320
- "default": "false",
3321
- "fieldName": "hideLabel"
3322
- }
3323
- ],
3324
- "superclass": {
3325
- "name": "FASTElement",
3326
- "package": "@microsoft/fast-element"
3030
+ "kind": "variable",
3031
+ "name": "TIME_CONTROL_RANK",
3032
+ "type": {
3033
+ "text": "number"
3327
3034
  },
3328
- "deprecated": "Use `layoutWrapperTemplate` instead. The `<layout-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `layoutWrapperTemplate` function which renders inline within the parent renderer's template.",
3329
- "tagName": "layout-wrapper",
3330
- "customElement": true
3331
- }
3332
- ],
3333
- "exports": [
3035
+ "default": "4"
3036
+ },
3334
3037
  {
3335
- "kind": "js",
3336
- "name": "layoutWrapperTemplate",
3337
- "declaration": {
3338
- "name": "layoutWrapperTemplate",
3339
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3340
- }
3038
+ "kind": "variable",
3039
+ "name": "LAYOUT_RANK",
3040
+ "type": {
3041
+ "text": "number"
3042
+ },
3043
+ "default": "2"
3341
3044
  },
3342
3045
  {
3343
- "kind": "js",
3344
- "name": "LayoutRendererTemplate",
3345
- "declaration": {
3346
- "name": "LayoutRendererTemplate",
3347
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3348
- }
3046
+ "kind": "variable",
3047
+ "name": "LAYOUT_ARRAY_RANK",
3048
+ "type": {
3049
+ "text": "number"
3050
+ },
3051
+ "default": "2"
3349
3052
  },
3350
3053
  {
3351
- "kind": "js",
3352
- "name": "LayoutRendererEntry",
3353
- "declaration": {
3354
- "name": "LayoutRendererEntry",
3355
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3356
- }
3357
- },
3358
- {
3359
- "kind": "js",
3360
- "name": "LayoutWrapper",
3361
- "declaration": {
3362
- "name": "LayoutWrapper",
3363
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3364
- }
3365
- },
3366
- {
3367
- "kind": "custom-element-definition",
3368
- "name": "layout-wrapper",
3369
- "declaration": {
3370
- "name": "LayoutWrapper",
3371
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3372
- }
3373
- }
3374
- ]
3375
- },
3376
- {
3377
- "kind": "javascript-module",
3378
- "path": "src/jsonforms/renderers/LayoutStepperRenderer.ts",
3379
- "declarations": [
3380
- {
3381
- "kind": "variable",
3382
- "name": "LayoutStepperRendererTemplate",
3383
- "default": "html`\n <template>\n <stepper-wrapper :form=${(x) => x} :control=${(x) => x.control}></stepper-wrapper>\n </template>\n`"
3384
- },
3385
- {
3386
- "kind": "variable",
3387
- "name": "LayoutStepperRendererEntry",
3388
- "type": {
3389
- "text": "any"
3390
- },
3391
- "default": "{\n renderer: LayoutStepperRendererTemplate,\n tester: rankWith(LAYOUT_STEPPER_RANK, (uiSchema) => uiSchema.type === 'Stepper'),\n mapper: mapStateToLayoutProps,\n}"
3392
- }
3393
- ],
3394
- "exports": [
3395
- {
3396
- "kind": "js",
3397
- "name": "LayoutStepperRendererTemplate",
3398
- "declaration": {
3399
- "name": "LayoutStepperRendererTemplate",
3400
- "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
3401
- }
3402
- },
3403
- {
3404
- "kind": "js",
3405
- "name": "LayoutStepperRendererEntry",
3406
- "declaration": {
3407
- "name": "LayoutStepperRendererEntry",
3408
- "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
3409
- }
3410
- }
3411
- ]
3412
- },
3413
- {
3414
- "kind": "javascript-module",
3415
- "path": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts",
3416
- "declarations": [
3417
- {
3418
- "kind": "variable",
3419
- "name": "LayoutVertical2ColumnsRendererTemplate",
3420
- "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`"
3421
- },
3422
- {
3423
- "kind": "variable",
3424
- "name": "LayoutVertical2ColumnsEntry",
3425
- "type": {
3426
- "text": "any"
3427
- },
3428
- "default": "{\n renderer: LayoutVertical2ColumnsRendererTemplate,\n tester: rankWith(LAYOUT2COLUMNS_RANK, (uiSchema) => uiSchema.type === 'LayoutVertical2Columns'),\n mapper: mapStateToLayoutProps,\n}"
3429
- }
3430
- ],
3431
- "exports": [
3432
- {
3433
- "kind": "js",
3434
- "name": "LayoutVertical2ColumnsRendererTemplate",
3435
- "declaration": {
3436
- "name": "LayoutVertical2ColumnsRendererTemplate",
3437
- "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
3438
- }
3439
- },
3440
- {
3441
- "kind": "js",
3442
- "name": "LayoutVertical2ColumnsEntry",
3443
- "declaration": {
3444
- "name": "LayoutVertical2ColumnsEntry",
3445
- "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
3446
- }
3447
- }
3448
- ]
3449
- },
3450
- {
3451
- "kind": "javascript-module",
3452
- "path": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts",
3453
- "declarations": [
3454
- {
3455
- "kind": "variable",
3456
- "name": "LayoutVerticalCategorizationRendererTemplate",
3457
- "default": "html`\n <template>\n <vertical-categorization-wrapper\n :form=${(x) => x}\n :control=${(x) => x.control}\n height=${(x) =>\n getVerticalCategorizationHeight(\n (x.control.uischema.options as CategorizationLayoutOptions | undefined)?.layout,\n ) ?? ''}\n ></vertical-categorization-wrapper>\n </template>\n`"
3458
- },
3459
- {
3460
- "kind": "variable",
3461
- "name": "LayoutVerticalCategorizationRendererEntry",
3462
- "type": {
3463
- "text": "any"
3464
- },
3465
- "default": "{\n renderer: LayoutVerticalCategorizationRendererTemplate,\n tester: rankWith(\n LAYOUT_VERTICAL_CATEGORIZATION_RANK,\n (uiSchema) =>\n uiSchema.type === 'Categorization' &&\n isVerticalCategorizationLayout(\n (uiSchema.options as CategorizationLayoutOptions | undefined)?.layout,\n ),\n ),\n mapper: mapStateToLayoutProps,\n}"
3466
- }
3467
- ],
3468
- "exports": [
3469
- {
3470
- "kind": "js",
3471
- "name": "LayoutVerticalCategorizationRendererTemplate",
3472
- "declaration": {
3473
- "name": "LayoutVerticalCategorizationRendererTemplate",
3474
- "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
3475
- }
3476
- },
3477
- {
3478
- "kind": "js",
3479
- "name": "LayoutVerticalCategorizationRendererEntry",
3480
- "declaration": {
3481
- "name": "LayoutVerticalCategorizationRendererEntry",
3482
- "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
3483
- }
3484
- }
3485
- ]
3486
- },
3487
- {
3488
- "kind": "javascript-module",
3489
- "path": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts",
3490
- "declarations": [
3491
- {
3492
- "kind": "function",
3493
- "name": "MulticolumnDropdownControlRendererTemplate",
3494
- "parameters": [
3495
- {
3496
- "name": "prefix",
3497
- "default": "'zero'",
3498
- "type": {
3499
- "text": "string"
3500
- }
3501
- }
3502
- ]
3503
- },
3504
- {
3505
- "kind": "variable",
3506
- "name": "MulticolumnDropdownControlRendererEntry",
3507
- "type": {
3508
- "text": "any"
3509
- },
3510
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => MulticolumnDropdownControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTICOLUMN_DROPDOWN_CONTROL_RANK, optionIs('columnDefinitions')),\n mapper: mapStateToControlProps,\n}"
3511
- }
3512
- ],
3513
- "exports": [
3514
- {
3515
- "kind": "js",
3516
- "name": "MulticolumnDropdownControlRendererTemplate",
3517
- "declaration": {
3518
- "name": "MulticolumnDropdownControlRendererTemplate",
3519
- "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3520
- }
3521
- },
3522
- {
3523
- "kind": "js",
3524
- "name": "MulticolumnDropdownControlRendererEntry",
3525
- "declaration": {
3526
- "name": "MulticolumnDropdownControlRendererEntry",
3527
- "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3528
- }
3529
- }
3530
- ]
3531
- },
3532
- {
3533
- "kind": "javascript-module",
3534
- "path": "src/jsonforms/renderers/NumberControlRenderer.ts",
3535
- "declarations": [
3536
- {
3537
- "kind": "function",
3538
- "name": "NumberControlRendererTemplate",
3539
- "parameters": [
3540
- {
3541
- "name": "prefix",
3542
- "default": "'zero'",
3543
- "type": {
3544
- "text": "string"
3545
- }
3546
- }
3547
- ]
3054
+ "kind": "variable",
3055
+ "name": "LAYOUT_CATEGORIZATION_RANK",
3056
+ "type": {
3057
+ "text": "number"
3058
+ },
3059
+ "default": "2"
3548
3060
  },
3549
3061
  {
3550
3062
  "kind": "variable",
3551
- "name": "NumberControlRendererEntry",
3063
+ "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
3552
3064
  "type": {
3553
- "text": "RendererEntry"
3065
+ "text": "number"
3554
3066
  },
3555
- "default": "{\n renderer: html`\n ${(x) => NumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3556
- }
3557
- ],
3558
- "exports": [
3559
- {
3560
- "kind": "js",
3561
- "name": "NumberControlRendererTemplate",
3562
- "declaration": {
3563
- "name": "NumberControlRendererTemplate",
3564
- "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3565
- }
3067
+ "default": "3"
3566
3068
  },
3567
- {
3568
- "kind": "js",
3569
- "name": "NumberControlRendererEntry",
3570
- "declaration": {
3571
- "name": "NumberControlRendererEntry",
3572
- "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3573
- }
3574
- }
3575
- ]
3576
- },
3577
- {
3578
- "kind": "javascript-module",
3579
- "path": "src/jsonforms/renderers/RenderersRanks.ts",
3580
- "declarations": [
3581
3069
  {
3582
3070
  "kind": "variable",
3583
- "name": "NUMBER_CONTROL_RANK",
3071
+ "name": "LAYOUT_GROUP_RANK",
3584
3072
  "type": {
3585
3073
  "text": "number"
3586
3074
  },
3587
- "default": "3"
3075
+ "default": "2"
3588
3076
  },
3589
3077
  {
3590
3078
  "kind": "variable",
3591
- "name": "BOOLEAN_CONTROL_RANK",
3079
+ "name": "LAYOUT_HORIZONTAL_RANK",
3592
3080
  "type": {
3593
3081
  "text": "number"
3594
3082
  },
3595
- "default": "3"
3083
+ "default": "2"
3596
3084
  },
3597
3085
  {
3598
3086
  "kind": "variable",
3599
- "name": "ARRAY_CONTROL_RANK",
3087
+ "name": "LAYOUT_STEPPER_RANK",
3600
3088
  "type": {
3601
3089
  "text": "number"
3602
3090
  },
@@ -3604,151 +3092,55 @@
3604
3092
  },
3605
3093
  {
3606
3094
  "kind": "variable",
3607
- "name": "MULTISELECT_CONTROL_RANK",
3095
+ "name": "LAYOUT2COLUMNS_RANK",
3608
3096
  "type": {
3609
3097
  "text": "number"
3610
3098
  },
3611
- "default": "4"
3099
+ "default": "2"
3612
3100
  },
3613
3101
  {
3614
3102
  "kind": "variable",
3615
- "name": "ENUM_CONTROL_RANK",
3103
+ "name": "LAYOUT_FORM_GRID_RANK",
3616
3104
  "type": {
3617
3105
  "text": "number"
3618
3106
  },
3619
- "default": "3"
3107
+ "default": "2"
3620
3108
  },
3621
3109
  {
3622
3110
  "kind": "variable",
3623
- "name": "SELECT_CONTROL_RANK",
3111
+ "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
3624
3112
  "type": {
3625
3113
  "text": "number"
3626
3114
  },
3627
- "default": "4"
3115
+ "default": "5"
3628
3116
  },
3629
3117
  {
3630
3118
  "kind": "variable",
3631
- "name": "DATE_CONTROL_RANK",
3119
+ "name": "INVISIBLE_CONTROL_RANK",
3632
3120
  "type": {
3633
3121
  "text": "number"
3634
3122
  },
3635
- "default": "4"
3123
+ "default": "5"
3636
3124
  },
3637
3125
  {
3638
3126
  "kind": "variable",
3639
- "name": "TIME_CONTROL_RANK",
3127
+ "name": "DIVIDER_CONTROL_RANK",
3640
3128
  "type": {
3641
3129
  "text": "number"
3642
3130
  },
3643
- "default": "4"
3131
+ "default": "5"
3644
3132
  },
3645
3133
  {
3646
3134
  "kind": "variable",
3647
- "name": "LAYOUT_RANK",
3135
+ "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
3648
3136
  "type": {
3649
3137
  "text": "number"
3650
3138
  },
3651
- "default": "2"
3139
+ "default": "10"
3652
3140
  },
3653
3141
  {
3654
3142
  "kind": "variable",
3655
- "name": "LAYOUT_ARRAY_RANK",
3656
- "type": {
3657
- "text": "number"
3658
- },
3659
- "default": "2"
3660
- },
3661
- {
3662
- "kind": "variable",
3663
- "name": "LAYOUT_CATEGORIZATION_RANK",
3664
- "type": {
3665
- "text": "number"
3666
- },
3667
- "default": "2"
3668
- },
3669
- {
3670
- "kind": "variable",
3671
- "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
3672
- "type": {
3673
- "text": "number"
3674
- },
3675
- "default": "3"
3676
- },
3677
- {
3678
- "kind": "variable",
3679
- "name": "LAYOUT_GROUP_RANK",
3680
- "type": {
3681
- "text": "number"
3682
- },
3683
- "default": "2"
3684
- },
3685
- {
3686
- "kind": "variable",
3687
- "name": "LAYOUT_HORIZONTAL_RANK",
3688
- "type": {
3689
- "text": "number"
3690
- },
3691
- "default": "2"
3692
- },
3693
- {
3694
- "kind": "variable",
3695
- "name": "LAYOUT_STEPPER_RANK",
3696
- "type": {
3697
- "text": "number"
3698
- },
3699
- "default": "3"
3700
- },
3701
- {
3702
- "kind": "variable",
3703
- "name": "LAYOUT2COLUMNS_RANK",
3704
- "type": {
3705
- "text": "number"
3706
- },
3707
- "default": "2"
3708
- },
3709
- {
3710
- "kind": "variable",
3711
- "name": "LAYOUT_FORM_GRID_RANK",
3712
- "type": {
3713
- "text": "number"
3714
- },
3715
- "default": "2"
3716
- },
3717
- {
3718
- "kind": "variable",
3719
- "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
3720
- "type": {
3721
- "text": "number"
3722
- },
3723
- "default": "5"
3724
- },
3725
- {
3726
- "kind": "variable",
3727
- "name": "INVISIBLE_CONTROL_RANK",
3728
- "type": {
3729
- "text": "number"
3730
- },
3731
- "default": "5"
3732
- },
3733
- {
3734
- "kind": "variable",
3735
- "name": "DIVIDER_CONTROL_RANK",
3736
- "type": {
3737
- "text": "number"
3738
- },
3739
- "default": "5"
3740
- },
3741
- {
3742
- "kind": "variable",
3743
- "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
3744
- "type": {
3745
- "text": "number"
3746
- },
3747
- "default": "10"
3748
- },
3749
- {
3750
- "kind": "variable",
3751
- "name": "SEGMENTED_CONTROL_RANK",
3143
+ "name": "SEGMENTED_CONTROL_RANK",
3752
3144
  "type": {
3753
3145
  "text": "number"
3754
3146
  },
@@ -4399,6 +3791,614 @@
4399
3791
  }
4400
3792
  }
4401
3793
  ]
3794
+ },
3795
+ {
3796
+ "kind": "javascript-module",
3797
+ "path": "src/utils/confirmation-dialog-utils.ts",
3798
+ "declarations": [],
3799
+ "exports": []
3800
+ },
3801
+ {
3802
+ "kind": "javascript-module",
3803
+ "path": "src/utils/csv-parser.ts",
3804
+ "declarations": [
3805
+ {
3806
+ "kind": "function",
3807
+ "name": "parseCsv",
3808
+ "return": {
3809
+ "type": {
3810
+ "text": ""
3811
+ }
3812
+ },
3813
+ "parameters": [
3814
+ {
3815
+ "name": "content",
3816
+ "type": {
3817
+ "text": "string"
3818
+ },
3819
+ "description": "The CSV content as a string"
3820
+ }
3821
+ ],
3822
+ "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
3823
+ "privacy": "public"
3824
+ },
3825
+ {
3826
+ "kind": "function",
3827
+ "name": "mapCsvToSchema",
3828
+ "return": {
3829
+ "type": {
3830
+ "text": ""
3831
+ }
3832
+ },
3833
+ "parameters": [
3834
+ {
3835
+ "name": "csvRows",
3836
+ "type": {
3837
+ "text": "Record<string, string>[]"
3838
+ },
3839
+ "description": "The parsed CSV rows"
3840
+ },
3841
+ {
3842
+ "name": "schema",
3843
+ "type": {
3844
+ "text": "JSONSchema7 | undefined"
3845
+ },
3846
+ "description": "The JSON schema defining the fields"
3847
+ },
3848
+ {
3849
+ "name": "uiSchema",
3850
+ "optional": true,
3851
+ "type": {
3852
+ "text": "UiSchema"
3853
+ },
3854
+ "description": "Optional UI schema to map labels to field names on import"
3855
+ }
3856
+ ],
3857
+ "description": "Maps CSV rows to schema fields with case-insensitive matching.\nWhen uiSchema is provided, CSV headers can also match UI schema labels.\nConverts values to appropriate types based on schema definition.",
3858
+ "privacy": "public"
3859
+ },
3860
+ {
3861
+ "kind": "function",
3862
+ "name": "generateCsvTemplate",
3863
+ "return": {
3864
+ "type": {
3865
+ "text": ""
3866
+ }
3867
+ },
3868
+ "parameters": [
3869
+ {
3870
+ "name": "schema",
3871
+ "type": {
3872
+ "text": "JSONSchema7 | undefined"
3873
+ },
3874
+ "description": "The JSON schema defining the fields"
3875
+ },
3876
+ {
3877
+ "name": "uiSchema",
3878
+ "optional": true,
3879
+ "type": {
3880
+ "text": "UiSchema"
3881
+ },
3882
+ "description": "Optional UI schema to determine field order and visibility"
3883
+ },
3884
+ {
3885
+ "name": "includeOptionalFields",
3886
+ "default": "true",
3887
+ "type": {
3888
+ "text": "boolean"
3889
+ },
3890
+ "description": "Whether to include optional fields when no UI schema (default: true)"
3891
+ },
3892
+ {
3893
+ "name": "includeBom",
3894
+ "default": "true",
3895
+ "type": {
3896
+ "text": "boolean"
3897
+ },
3898
+ "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
3899
+ }
3900
+ ],
3901
+ "description": "Generates a CSV template string with headers and sample data based on JSON schema.\nIf a UI schema is provided, it will be used to determine which fields to include\nand in what order. Hidden fields in the UI schema will be excluded.",
3902
+ "privacy": "public"
3903
+ },
3904
+ {
3905
+ "kind": "function",
3906
+ "name": "downloadCsvTemplate",
3907
+ "return": {
3908
+ "type": {
3909
+ "text": "void"
3910
+ }
3911
+ },
3912
+ "parameters": [
3913
+ {
3914
+ "name": "csvContent",
3915
+ "type": {
3916
+ "text": "string"
3917
+ },
3918
+ "description": "The CSV content to download"
3919
+ },
3920
+ {
3921
+ "name": "fileName",
3922
+ "default": "'template.csv'",
3923
+ "type": {
3924
+ "text": "string"
3925
+ },
3926
+ "description": "The name for the downloaded file (default: 'template.csv')"
3927
+ }
3928
+ ],
3929
+ "description": "Triggers a download of the CSV template file in the browser.",
3930
+ "privacy": "public"
3931
+ }
3932
+ ],
3933
+ "exports": [
3934
+ {
3935
+ "kind": "js",
3936
+ "name": "parseCsv",
3937
+ "declaration": {
3938
+ "name": "parseCsv",
3939
+ "module": "src/utils/csv-parser.ts"
3940
+ }
3941
+ },
3942
+ {
3943
+ "kind": "js",
3944
+ "name": "mapCsvToSchema",
3945
+ "declaration": {
3946
+ "name": "mapCsvToSchema",
3947
+ "module": "src/utils/csv-parser.ts"
3948
+ }
3949
+ },
3950
+ {
3951
+ "kind": "js",
3952
+ "name": "generateCsvTemplate",
3953
+ "declaration": {
3954
+ "name": "generateCsvTemplate",
3955
+ "module": "src/utils/csv-parser.ts"
3956
+ }
3957
+ },
3958
+ {
3959
+ "kind": "js",
3960
+ "name": "downloadCsvTemplate",
3961
+ "declaration": {
3962
+ "name": "downloadCsvTemplate",
3963
+ "module": "src/utils/csv-parser.ts"
3964
+ }
3965
+ }
3966
+ ]
3967
+ },
3968
+ {
3969
+ "kind": "javascript-module",
3970
+ "path": "src/utils/filters.ts",
3971
+ "declarations": [],
3972
+ "exports": []
3973
+ },
3974
+ {
3975
+ "kind": "javascript-module",
3976
+ "path": "src/utils/form-utils.ts",
3977
+ "declarations": [
3978
+ {
3979
+ "kind": "function",
3980
+ "name": "removeDataPropertiesNotInSchema",
3981
+ "return": {
3982
+ "type": {
3983
+ "text": ""
3984
+ }
3985
+ },
3986
+ "parameters": [
3987
+ {
3988
+ "name": "data",
3989
+ "type": {
3990
+ "text": "any"
3991
+ },
3992
+ "description": "The data object to clean"
3993
+ },
3994
+ {
3995
+ "name": "jsonSchema",
3996
+ "type": {
3997
+ "text": "JSONSchema7"
3998
+ },
3999
+ "description": "The JSON schema to validate against"
4000
+ }
4001
+ ],
4002
+ "description": "Removes data properties that aren't part of the schema"
4003
+ }
4004
+ ],
4005
+ "exports": [
4006
+ {
4007
+ "kind": "js",
4008
+ "name": "removeDataPropertiesNotInSchema",
4009
+ "declaration": {
4010
+ "name": "removeDataPropertiesNotInSchema",
4011
+ "module": "src/utils/form-utils.ts"
4012
+ }
4013
+ }
4014
+ ]
4015
+ },
4016
+ {
4017
+ "kind": "javascript-module",
4018
+ "path": "src/utils/index.ts",
4019
+ "declarations": [],
4020
+ "exports": [
4021
+ {
4022
+ "kind": "js",
4023
+ "name": "*",
4024
+ "declaration": {
4025
+ "name": "*",
4026
+ "package": "./csv-parser"
4027
+ }
4028
+ },
4029
+ {
4030
+ "kind": "js",
4031
+ "name": "*",
4032
+ "declaration": {
4033
+ "name": "*",
4034
+ "package": "./filters"
4035
+ }
4036
+ },
4037
+ {
4038
+ "kind": "js",
4039
+ "name": "*",
4040
+ "declaration": {
4041
+ "name": "*",
4042
+ "package": "./logger"
4043
+ }
4044
+ },
4045
+ {
4046
+ "kind": "js",
4047
+ "name": "*",
4048
+ "declaration": {
4049
+ "name": "*",
4050
+ "package": "./translation"
4051
+ }
4052
+ },
4053
+ {
4054
+ "kind": "js",
4055
+ "name": "*",
4056
+ "declaration": {
4057
+ "name": "*",
4058
+ "package": "./validation"
4059
+ }
4060
+ },
4061
+ {
4062
+ "kind": "js",
4063
+ "name": "*",
4064
+ "declaration": {
4065
+ "name": "*",
4066
+ "package": "./types"
4067
+ }
4068
+ }
4069
+ ]
4070
+ },
4071
+ {
4072
+ "kind": "javascript-module",
4073
+ "path": "src/utils/logger.ts",
4074
+ "declarations": [],
4075
+ "exports": []
4076
+ },
4077
+ {
4078
+ "kind": "javascript-module",
4079
+ "path": "src/utils/schema-utils.ts",
4080
+ "declarations": [],
4081
+ "exports": []
4082
+ },
4083
+ {
4084
+ "kind": "javascript-module",
4085
+ "path": "src/utils/translation.ts",
4086
+ "declarations": [],
4087
+ "exports": []
4088
+ },
4089
+ {
4090
+ "kind": "javascript-module",
4091
+ "path": "src/utils/types.ts",
4092
+ "declarations": [],
4093
+ "exports": []
4094
+ },
4095
+ {
4096
+ "kind": "javascript-module",
4097
+ "path": "src/utils/validation.ts",
4098
+ "declarations": [
4099
+ {
4100
+ "kind": "function",
4101
+ "name": "mustMatch",
4102
+ "parameters": [
4103
+ {
4104
+ "name": "target",
4105
+ "type": {
4106
+ "text": "string"
4107
+ },
4108
+ "description": "any other field"
4109
+ }
4110
+ ],
4111
+ "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
4112
+ "return": {
4113
+ "type": {
4114
+ "text": ""
4115
+ }
4116
+ },
4117
+ "privacy": "public"
4118
+ },
4119
+ {
4120
+ "kind": "function",
4121
+ "name": "getAnyOfErrorMessage",
4122
+ "return": {
4123
+ "type": {
4124
+ "text": "string"
4125
+ }
4126
+ },
4127
+ "parameters": [
4128
+ {
4129
+ "name": "errors",
4130
+ "type": {
4131
+ "text": "Array<any> | undefined"
4132
+ }
4133
+ },
4134
+ {
4135
+ "name": "schema",
4136
+ "type": {
4137
+ "text": "any"
4138
+ }
4139
+ },
4140
+ {
4141
+ "name": "controlPath",
4142
+ "type": {
4143
+ "text": "string | undefined"
4144
+ }
4145
+ },
4146
+ {
4147
+ "name": "uiCustomMsg",
4148
+ "optional": true,
4149
+ "type": {
4150
+ "text": "string"
4151
+ }
4152
+ }
4153
+ ],
4154
+ "description": "Computes a human-friendly anyOf error message for a given control path.\nPrefers UI schema custom message, then JSON schema errorMessage.anyOf, then a constructed fallback.",
4155
+ "privacy": "public"
4156
+ }
4157
+ ],
4158
+ "exports": [
4159
+ {
4160
+ "kind": "js",
4161
+ "name": "mustMatch",
4162
+ "declaration": {
4163
+ "name": "mustMatch",
4164
+ "module": "src/utils/validation.ts"
4165
+ }
4166
+ },
4167
+ {
4168
+ "kind": "js",
4169
+ "name": "getAnyOfErrorMessage",
4170
+ "declaration": {
4171
+ "name": "getAnyOfErrorMessage",
4172
+ "module": "src/utils/validation.ts"
4173
+ }
4174
+ }
4175
+ ]
4176
+ },
4177
+ {
4178
+ "kind": "javascript-module",
4179
+ "path": "src/jsonforms/testers/isArray.ts",
4180
+ "declarations": [
4181
+ {
4182
+ "kind": "function",
4183
+ "name": "isArray",
4184
+ "parameters": [
4185
+ {
4186
+ "name": "itemsType",
4187
+ "type": {
4188
+ "text": "ArrayItemsType"
4189
+ }
4190
+ }
4191
+ ]
4192
+ }
4193
+ ],
4194
+ "exports": [
4195
+ {
4196
+ "kind": "js",
4197
+ "name": "isArray",
4198
+ "declaration": {
4199
+ "name": "isArray",
4200
+ "module": "src/jsonforms/testers/isArray.ts"
4201
+ }
4202
+ }
4203
+ ]
4204
+ },
4205
+ {
4206
+ "kind": "javascript-module",
4207
+ "path": "src/jsonforms/testers/isDate.ts",
4208
+ "declarations": [
4209
+ {
4210
+ "kind": "variable",
4211
+ "name": "isOneOfDate"
4212
+ }
4213
+ ],
4214
+ "exports": [
4215
+ {
4216
+ "kind": "js",
4217
+ "name": "isOneOfDate",
4218
+ "declaration": {
4219
+ "name": "isOneOfDate",
4220
+ "module": "src/jsonforms/testers/isDate.ts"
4221
+ }
4222
+ }
4223
+ ]
4224
+ },
4225
+ {
4226
+ "kind": "javascript-module",
4227
+ "path": "src/jsonforms/testers/isInvisible.ts",
4228
+ "declarations": [
4229
+ {
4230
+ "kind": "function",
4231
+ "name": "isInvisible",
4232
+ "return": {
4233
+ "type": {
4234
+ "text": "boolean"
4235
+ }
4236
+ },
4237
+ "parameters": [
4238
+ {
4239
+ "name": "uischema",
4240
+ "type": {
4241
+ "text": "UISchemaElement"
4242
+ }
4243
+ },
4244
+ {
4245
+ "name": "schema",
4246
+ "type": {
4247
+ "text": "JsonSchema"
4248
+ }
4249
+ },
4250
+ {
4251
+ "name": "context",
4252
+ "type": {
4253
+ "text": "TesterContext"
4254
+ }
4255
+ }
4256
+ ]
4257
+ }
4258
+ ],
4259
+ "exports": [
4260
+ {
4261
+ "kind": "js",
4262
+ "name": "isInvisible",
4263
+ "declaration": {
4264
+ "name": "isInvisible",
4265
+ "module": "src/jsonforms/testers/isInvisible.ts"
4266
+ }
4267
+ }
4268
+ ]
4269
+ },
4270
+ {
4271
+ "kind": "javascript-module",
4272
+ "path": "src/jsonforms/testers/isOneOfBoolean.ts",
4273
+ "declarations": [
4274
+ {
4275
+ "kind": "variable",
4276
+ "name": "isOneOfBoolean"
4277
+ }
4278
+ ],
4279
+ "exports": [
4280
+ {
4281
+ "kind": "js",
4282
+ "name": "isOneOfBoolean",
4283
+ "declaration": {
4284
+ "name": "isOneOfBoolean",
4285
+ "module": "src/jsonforms/testers/isOneOfBoolean.ts"
4286
+ }
4287
+ }
4288
+ ]
4289
+ },
4290
+ {
4291
+ "kind": "javascript-module",
4292
+ "path": "src/jsonforms/testers/isOneOfEnum.ts",
4293
+ "declarations": [
4294
+ {
4295
+ "kind": "variable",
4296
+ "name": "isOneOfEnum"
4297
+ }
4298
+ ],
4299
+ "exports": [
4300
+ {
4301
+ "kind": "js",
4302
+ "name": "isOneOfEnum",
4303
+ "declaration": {
4304
+ "name": "isOneOfEnum",
4305
+ "module": "src/jsonforms/testers/isOneOfEnum.ts"
4306
+ }
4307
+ }
4308
+ ]
4309
+ },
4310
+ {
4311
+ "kind": "javascript-module",
4312
+ "path": "src/jsonforms/testers/isOneOfNumber.ts",
4313
+ "declarations": [
4314
+ {
4315
+ "kind": "variable",
4316
+ "name": "isOneOfNumber"
4317
+ }
4318
+ ],
4319
+ "exports": [
4320
+ {
4321
+ "kind": "js",
4322
+ "name": "isOneOfNumber",
4323
+ "declaration": {
4324
+ "name": "isOneOfNumber",
4325
+ "module": "src/jsonforms/testers/isOneOfNumber.ts"
4326
+ }
4327
+ }
4328
+ ]
4329
+ },
4330
+ {
4331
+ "kind": "javascript-module",
4332
+ "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
4333
+ "declarations": [
4334
+ {
4335
+ "kind": "variable",
4336
+ "name": "isOneOfOptionMultiselect"
4337
+ }
4338
+ ],
4339
+ "exports": [
4340
+ {
4341
+ "kind": "js",
4342
+ "name": "isOneOfOptionMultiselect",
4343
+ "declaration": {
4344
+ "name": "isOneOfOptionMultiselect",
4345
+ "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
4346
+ }
4347
+ }
4348
+ ]
4349
+ },
4350
+ {
4351
+ "kind": "javascript-module",
4352
+ "path": "src/jsonforms/testers/isTime.ts",
4353
+ "declarations": [
4354
+ {
4355
+ "kind": "variable",
4356
+ "name": "isOneOfTime"
4357
+ }
4358
+ ],
4359
+ "exports": [
4360
+ {
4361
+ "kind": "js",
4362
+ "name": "isOneOfTime",
4363
+ "declaration": {
4364
+ "name": "isOneOfTime",
4365
+ "module": "src/jsonforms/testers/isTime.ts"
4366
+ }
4367
+ }
4368
+ ]
4369
+ },
4370
+ {
4371
+ "kind": "javascript-module",
4372
+ "path": "src/jsonforms/testers/optionIs.ts",
4373
+ "declarations": [
4374
+ {
4375
+ "kind": "function",
4376
+ "name": "optionIs",
4377
+ "return": {
4378
+ "type": {
4379
+ "text": "Tester"
4380
+ }
4381
+ },
4382
+ "parameters": [
4383
+ {
4384
+ "name": "optionName",
4385
+ "type": {
4386
+ "text": "string"
4387
+ }
4388
+ }
4389
+ ]
4390
+ }
4391
+ ],
4392
+ "exports": [
4393
+ {
4394
+ "kind": "js",
4395
+ "name": "optionIs",
4396
+ "declaration": {
4397
+ "name": "optionIs",
4398
+ "module": "src/jsonforms/testers/optionIs.ts"
4399
+ }
4400
+ }
4401
+ ]
4402
4402
  }
4403
4403
  ]
4404
4404
  }