@genesislcap/foundation-forms 14.409.0-FUI-2495.12 → 14.409.0-pbi.2

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 +919 -919
  2. package/package.json +15 -15
@@ -1389,393 +1389,313 @@
1389
1389
  },
1390
1390
  {
1391
1391
  "kind": "javascript-module",
1392
- "path": "src/utils/confirmation-dialog-utils.ts",
1393
- "declarations": [],
1394
- "exports": []
1395
- },
1396
- {
1397
- "kind": "javascript-module",
1398
- "path": "src/utils/csv-parser.ts",
1392
+ "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
1399
1393
  "declarations": [
1400
1394
  {
1401
1395
  "kind": "function",
1402
- "name": "parseCsv",
1403
- "return": {
1404
- "type": {
1405
- "text": ""
1406
- }
1407
- },
1396
+ "name": "ArrayListWrapperRendererTemplate",
1408
1397
  "parameters": [
1409
1398
  {
1410
- "name": "content",
1399
+ "name": "prefix",
1400
+ "default": "'zero'",
1411
1401
  "type": {
1412
1402
  "text": "string"
1413
- },
1414
- "description": "The CSV content as a string"
1403
+ }
1415
1404
  }
1416
- ],
1417
- "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
1418
- "privacy": "public"
1405
+ ]
1419
1406
  },
1420
1407
  {
1421
- "kind": "function",
1422
- "name": "mapCsvToSchema",
1423
- "return": {
1424
- "type": {
1425
- "text": ""
1426
- }
1427
- },
1428
- "parameters": [
1408
+ "kind": "class",
1409
+ "description": "",
1410
+ "name": "ArrayListWrapper",
1411
+ "members": [
1429
1412
  {
1430
- "name": "csvRows",
1431
- "type": {
1432
- "text": "Record<string, string>[]"
1433
- },
1434
- "description": "The parsed CSV rows"
1413
+ "kind": "field",
1414
+ "name": "form"
1435
1415
  },
1436
1416
  {
1437
- "name": "schema",
1438
- "type": {
1439
- "text": "JSONSchema7 | undefined"
1440
- },
1441
- "description": "The JSON schema defining the fields"
1417
+ "kind": "field",
1418
+ "name": "control"
1442
1419
  },
1443
1420
  {
1444
- "name": "uiSchema",
1445
- "optional": true,
1446
- "type": {
1447
- "text": "UiSchema"
1448
- },
1449
- "description": "Optional UI schema to map labels to field names on import"
1450
- }
1451
- ],
1452
- "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.",
1453
- "privacy": "public"
1454
- },
1455
- {
1456
- "kind": "function",
1457
- "name": "generateCsvTemplate",
1458
- "return": {
1459
- "type": {
1460
- "text": ""
1461
- }
1462
- },
1463
- "parameters": [
1464
- {
1465
- "name": "schema",
1466
- "type": {
1467
- "text": "JSONSchema7 | undefined"
1468
- },
1469
- "description": "The JSON schema defining the fields"
1421
+ "kind": "field",
1422
+ "name": "schema"
1470
1423
  },
1471
1424
  {
1472
- "name": "uiSchema",
1473
- "optional": true,
1474
- "type": {
1475
- "text": "UiSchema"
1476
- },
1477
- "description": "Optional UI schema to determine field order and visibility"
1425
+ "kind": "field",
1426
+ "name": "uiSchema"
1478
1427
  },
1479
1428
  {
1480
- "name": "includeOptionalFields",
1481
- "default": "true",
1429
+ "kind": "field",
1430
+ "name": "isGridView",
1482
1431
  "type": {
1483
1432
  "text": "boolean"
1484
1433
  },
1485
- "description": "Whether to include optional fields when no UI schema (default: true)"
1434
+ "default": "false"
1486
1435
  },
1487
1436
  {
1488
- "name": "includeBom",
1489
- "default": "true",
1437
+ "kind": "field",
1438
+ "name": "gridViewHeaderCells",
1490
1439
  "type": {
1491
- "text": "boolean"
1440
+ "text": "GridHeaderCell[]"
1492
1441
  },
1493
- "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
1494
- }
1495
- ],
1496
- "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.",
1497
- "privacy": "public"
1498
- },
1499
- {
1500
- "kind": "function",
1501
- "name": "downloadCsvTemplate",
1502
- "return": {
1503
- "type": {
1504
- "text": "void"
1505
- }
1506
- },
1507
- "parameters": [
1442
+ "default": "[]"
1443
+ },
1508
1444
  {
1509
- "name": "csvContent",
1445
+ "kind": "field",
1446
+ "name": "gridViewUiSchema",
1510
1447
  "type": {
1511
- "text": "string"
1448
+ "text": "any"
1512
1449
  },
1513
- "description": "The CSV content to download"
1450
+ "default": "null"
1514
1451
  },
1515
1452
  {
1516
- "name": "fileName",
1517
- "default": "'template.csv'",
1518
- "type": {
1519
- "text": "string"
1520
- },
1521
- "description": "The name for the downloaded file (default: 'template.csv')"
1453
+ "kind": "method",
1454
+ "name": "controlChanged"
1455
+ },
1456
+ {
1457
+ "kind": "method",
1458
+ "name": "addItem"
1459
+ },
1460
+ {
1461
+ "kind": "method",
1462
+ "name": "deleteItem",
1463
+ "parameters": [
1464
+ {
1465
+ "name": "index",
1466
+ "type": {
1467
+ "text": "number"
1468
+ }
1469
+ }
1470
+ ]
1471
+ },
1472
+ {
1473
+ "kind": "method",
1474
+ "name": "submitRow",
1475
+ "parameters": [
1476
+ {
1477
+ "name": "index",
1478
+ "type": {
1479
+ "text": "number"
1480
+ },
1481
+ "description": "The row index to submit"
1482
+ }
1483
+ ],
1484
+ "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
1522
1485
  }
1523
1486
  ],
1524
- "description": "Triggers a download of the CSV template file in the browser.",
1525
- "privacy": "public"
1487
+ "superclass": {
1488
+ "name": "FASTElement",
1489
+ "package": "@microsoft/fast-element"
1490
+ },
1491
+ "tagName": "array-list-wrapper",
1492
+ "customElement": true
1526
1493
  }
1527
1494
  ],
1528
1495
  "exports": [
1529
1496
  {
1530
1497
  "kind": "js",
1531
- "name": "parseCsv",
1532
- "declaration": {
1533
- "name": "parseCsv",
1534
- "module": "src/utils/csv-parser.ts"
1535
- }
1536
- },
1537
- {
1538
- "kind": "js",
1539
- "name": "mapCsvToSchema",
1498
+ "name": "ArrayListWrapperRendererTemplate",
1540
1499
  "declaration": {
1541
- "name": "mapCsvToSchema",
1542
- "module": "src/utils/csv-parser.ts"
1500
+ "name": "ArrayListWrapperRendererTemplate",
1501
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1543
1502
  }
1544
1503
  },
1545
1504
  {
1546
1505
  "kind": "js",
1547
- "name": "generateCsvTemplate",
1506
+ "name": "ArrayListWrapper",
1548
1507
  "declaration": {
1549
- "name": "generateCsvTemplate",
1550
- "module": "src/utils/csv-parser.ts"
1508
+ "name": "ArrayListWrapper",
1509
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1551
1510
  }
1552
1511
  },
1553
1512
  {
1554
- "kind": "js",
1555
- "name": "downloadCsvTemplate",
1513
+ "kind": "custom-element-definition",
1514
+ "name": "array-list-wrapper",
1556
1515
  "declaration": {
1557
- "name": "downloadCsvTemplate",
1558
- "module": "src/utils/csv-parser.ts"
1516
+ "name": "ArrayListWrapper",
1517
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1559
1518
  }
1560
1519
  }
1561
1520
  ]
1562
1521
  },
1563
1522
  {
1564
1523
  "kind": "javascript-module",
1565
- "path": "src/utils/filters.ts",
1566
- "declarations": [],
1567
- "exports": []
1568
- },
1569
- {
1570
- "kind": "javascript-module",
1571
- "path": "src/utils/form-utils.ts",
1524
+ "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
1572
1525
  "declarations": [
1573
1526
  {
1574
1527
  "kind": "function",
1575
- "name": "removeDataPropertiesNotInSchema",
1576
- "return": {
1577
- "type": {
1578
- "text": ""
1579
- }
1580
- },
1528
+ "name": "BooleanControlRendererTemplate",
1581
1529
  "parameters": [
1582
1530
  {
1583
- "name": "data",
1584
- "type": {
1585
- "text": "any"
1586
- },
1587
- "description": "The data object to clean"
1588
- },
1589
- {
1590
- "name": "jsonSchema",
1531
+ "name": "prefix",
1532
+ "default": "'zero'",
1591
1533
  "type": {
1592
- "text": "JSONSchema7"
1593
- },
1594
- "description": "The JSON schema to validate against"
1534
+ "text": "string"
1535
+ }
1595
1536
  }
1596
- ],
1597
- "description": "Removes data properties that aren't part of the schema"
1537
+ ]
1538
+ },
1539
+ {
1540
+ "kind": "variable",
1541
+ "name": "BooleanControlEntry",
1542
+ "type": {
1543
+ "text": "RendererEntry"
1544
+ },
1545
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
1598
1546
  }
1599
1547
  ],
1600
1548
  "exports": [
1601
1549
  {
1602
1550
  "kind": "js",
1603
- "name": "removeDataPropertiesNotInSchema",
1551
+ "name": "BooleanControlRendererTemplate",
1604
1552
  "declaration": {
1605
- "name": "removeDataPropertiesNotInSchema",
1606
- "module": "src/utils/form-utils.ts"
1553
+ "name": "BooleanControlRendererTemplate",
1554
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1555
+ }
1556
+ },
1557
+ {
1558
+ "kind": "js",
1559
+ "name": "BooleanControlEntry",
1560
+ "declaration": {
1561
+ "name": "BooleanControlEntry",
1562
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1607
1563
  }
1608
1564
  }
1609
1565
  ]
1610
1566
  },
1611
1567
  {
1612
1568
  "kind": "javascript-module",
1613
- "path": "src/utils/index.ts",
1614
- "declarations": [],
1615
- "exports": [
1616
- {
1617
- "kind": "js",
1618
- "name": "*",
1619
- "declaration": {
1620
- "name": "*",
1621
- "package": "./csv-parser"
1622
- }
1623
- },
1569
+ "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
1570
+ "declarations": [
1624
1571
  {
1625
- "kind": "js",
1626
- "name": "*",
1627
- "declaration": {
1628
- "name": "*",
1629
- "package": "./filters"
1630
- }
1572
+ "kind": "function",
1573
+ "name": "CategorizationWrapperRendererTemplate",
1574
+ "parameters": [
1575
+ {
1576
+ "name": "prefix",
1577
+ "default": "'zero'"
1578
+ }
1579
+ ]
1631
1580
  },
1632
1581
  {
1633
- "kind": "js",
1634
- "name": "*",
1635
- "declaration": {
1636
- "name": "*",
1637
- "package": "./logger"
1638
- }
1639
- },
1582
+ "kind": "class",
1583
+ "description": "",
1584
+ "name": "CategorizationWrapper",
1585
+ "members": [
1586
+ {
1587
+ "kind": "field",
1588
+ "name": "form"
1589
+ },
1590
+ {
1591
+ "kind": "field",
1592
+ "name": "control"
1593
+ },
1594
+ {
1595
+ "kind": "method",
1596
+ "name": "hasCategoryError",
1597
+ "return": {
1598
+ "type": {
1599
+ "text": "boolean"
1600
+ }
1601
+ },
1602
+ "parameters": [
1603
+ {
1604
+ "name": "categoryIndex",
1605
+ "type": {
1606
+ "text": "number"
1607
+ }
1608
+ }
1609
+ ]
1610
+ }
1611
+ ],
1612
+ "superclass": {
1613
+ "name": "FASTElement",
1614
+ "package": "@microsoft/fast-element"
1615
+ },
1616
+ "tagName": "categorization-wrapper",
1617
+ "customElement": true
1618
+ }
1619
+ ],
1620
+ "exports": [
1640
1621
  {
1641
1622
  "kind": "js",
1642
- "name": "*",
1623
+ "name": "CategorizationWrapperRendererTemplate",
1643
1624
  "declaration": {
1644
- "name": "*",
1645
- "package": "./translation"
1625
+ "name": "CategorizationWrapperRendererTemplate",
1626
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1646
1627
  }
1647
1628
  },
1648
1629
  {
1649
1630
  "kind": "js",
1650
- "name": "*",
1631
+ "name": "CategorizationWrapper",
1651
1632
  "declaration": {
1652
- "name": "*",
1653
- "package": "./validation"
1633
+ "name": "CategorizationWrapper",
1634
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1654
1635
  }
1655
1636
  },
1656
1637
  {
1657
- "kind": "js",
1658
- "name": "*",
1638
+ "kind": "custom-element-definition",
1639
+ "name": "categorization-wrapper",
1659
1640
  "declaration": {
1660
- "name": "*",
1661
- "package": "./types"
1641
+ "name": "CategorizationWrapper",
1642
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1662
1643
  }
1663
1644
  }
1664
1645
  ]
1665
1646
  },
1666
1647
  {
1667
1648
  "kind": "javascript-module",
1668
- "path": "src/utils/logger.ts",
1669
- "declarations": [],
1670
- "exports": []
1671
- },
1672
- {
1673
- "kind": "javascript-module",
1674
- "path": "src/utils/schema-utils.ts",
1675
- "declarations": [],
1676
- "exports": []
1677
- },
1678
- {
1679
- "kind": "javascript-module",
1680
- "path": "src/utils/translation.ts",
1681
- "declarations": [],
1682
- "exports": []
1683
- },
1684
- {
1685
- "kind": "javascript-module",
1686
- "path": "src/utils/types.ts",
1687
- "declarations": [],
1688
- "exports": []
1689
- },
1690
- {
1691
- "kind": "javascript-module",
1692
- "path": "src/utils/validation.ts",
1649
+ "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
1693
1650
  "declarations": [
1694
1651
  {
1695
1652
  "kind": "function",
1696
- "name": "mustMatch",
1653
+ "name": "ConnectedMultiselectControlRendererTemplate",
1697
1654
  "parameters": [
1698
1655
  {
1699
- "name": "target",
1656
+ "name": "prefix",
1657
+ "default": "'zero'",
1700
1658
  "type": {
1701
1659
  "text": "string"
1702
- },
1703
- "description": "any other field"
1704
- }
1705
- ],
1706
- "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
1707
- "return": {
1708
- "type": {
1709
- "text": ""
1660
+ }
1710
1661
  }
1711
- },
1712
- "privacy": "public"
1662
+ ]
1713
1663
  },
1714
1664
  {
1715
- "kind": "function",
1716
- "name": "getAnyOfErrorMessage",
1717
- "return": {
1718
- "type": {
1719
- "text": "string"
1720
- }
1665
+ "kind": "variable",
1666
+ "name": "ConnectedMultiselectControlRendererEntry",
1667
+ "type": {
1668
+ "text": "RendererEntry"
1721
1669
  },
1722
- "parameters": [
1723
- {
1724
- "name": "errors",
1725
- "type": {
1726
- "text": "Array<any> | undefined"
1727
- }
1728
- },
1729
- {
1730
- "name": "schema",
1731
- "type": {
1732
- "text": "any"
1733
- }
1734
- },
1735
- {
1736
- "name": "controlPath",
1737
- "type": {
1738
- "text": "string | undefined"
1739
- }
1740
- },
1741
- {
1742
- "name": "uiCustomMsg",
1743
- "optional": true,
1744
- "type": {
1745
- "text": "string"
1746
- }
1747
- }
1748
- ],
1749
- "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.",
1750
- "privacy": "public"
1670
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
1751
1671
  }
1752
1672
  ],
1753
1673
  "exports": [
1754
1674
  {
1755
1675
  "kind": "js",
1756
- "name": "mustMatch",
1676
+ "name": "ConnectedMultiselectControlRendererTemplate",
1757
1677
  "declaration": {
1758
- "name": "mustMatch",
1759
- "module": "src/utils/validation.ts"
1678
+ "name": "ConnectedMultiselectControlRendererTemplate",
1679
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
1760
1680
  }
1761
1681
  },
1762
1682
  {
1763
1683
  "kind": "js",
1764
- "name": "getAnyOfErrorMessage",
1684
+ "name": "ConnectedMultiselectControlRendererEntry",
1765
1685
  "declaration": {
1766
- "name": "getAnyOfErrorMessage",
1767
- "module": "src/utils/validation.ts"
1686
+ "name": "ConnectedMultiselectControlRendererEntry",
1687
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
1768
1688
  }
1769
1689
  }
1770
1690
  ]
1771
1691
  },
1772
1692
  {
1773
1693
  "kind": "javascript-module",
1774
- "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
1694
+ "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
1775
1695
  "declarations": [
1776
1696
  {
1777
1697
  "kind": "function",
1778
- "name": "ArrayListWrapperRendererTemplate",
1698
+ "name": "ConnectedSelectControlRendererTemplate",
1779
1699
  "parameters": [
1780
1700
  {
1781
1701
  "name": "prefix",
@@ -1786,30 +1706,66 @@
1786
1706
  }
1787
1707
  ]
1788
1708
  },
1709
+ {
1710
+ "kind": "variable",
1711
+ "name": "ConnectedSelectControlRendererEntry",
1712
+ "type": {
1713
+ "text": "any"
1714
+ },
1715
+ "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}"
1716
+ }
1717
+ ],
1718
+ "exports": [
1719
+ {
1720
+ "kind": "js",
1721
+ "name": "ConnectedSelectControlRendererTemplate",
1722
+ "declaration": {
1723
+ "name": "ConnectedSelectControlRendererTemplate",
1724
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
1725
+ }
1726
+ },
1727
+ {
1728
+ "kind": "js",
1729
+ "name": "ConnectedSelectControlRendererEntry",
1730
+ "declaration": {
1731
+ "name": "ConnectedSelectControlRendererEntry",
1732
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
1733
+ }
1734
+ }
1735
+ ]
1736
+ },
1737
+ {
1738
+ "kind": "javascript-module",
1739
+ "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
1740
+ "declarations": [
1741
+ {
1742
+ "kind": "variable",
1743
+ "name": "ControlWrapperRendererTemplate",
1744
+ "default": "html`\n <template>\n ${when(\n (x) => x.control?.visible,\n html`\n <div\n class=${(x) =>\n classNames(\n ['wrapperRoot', true],\n ['labelLeft', x.jsonForms?.core?.uischema?.options?.labelPlacement === 'left'],\n )}\n id=${(x) => x.control.path + '-wrapper'}\n data-test-id=${(x) => x.control.path + '-wrapper'}\n role=\"group\"\n aria-labelledby=${(x) => (x.computedLabel ? x.control.path + '-label' : null)}\n >\n ${when(\n (x) => x.computedLabel,\n html`\n <label\n id=\"${(x) => x.control.path + '-label'}\"\n for=\"${(x) => x.control.path}\"\n class=\"${(x) => classNames('label', ['visually-hidden', x.hideLabel])}\"\n >\n <span>\n ${(x) => x.computedLabel}${when(\n (x) => x.control.uischema?.options?.tooltip,\n (x) => x.getPrefixedTooltip,\n )}\n </span>\n </label>\n `,\n )}\n\n <div class=\"wrapper\">\n <slot></slot>\n </div>\n <div\n class=\"${(x) =>\n (x.control.errors || x.anyOfError) && x.touched ? 'error' : 'description'}\"\n >\n ${(x) =>\n x.touched && (x.control.errors || x.anyOfError)\n ? [x.control.errors, x.anyOfError].filter(Boolean).join(' ')\n : x.showDescription\n ? x.control.description\n : ''}\n </div>\n </div>\n `,\n )}\n </template>\n`"
1745
+ },
1789
1746
  {
1790
1747
  "kind": "class",
1791
1748
  "description": "",
1792
- "name": "ArrayListWrapper",
1749
+ "name": "ControlWrapper",
1793
1750
  "members": [
1794
- {
1795
- "kind": "field",
1796
- "name": "form"
1797
- },
1798
1751
  {
1799
1752
  "kind": "field",
1800
1753
  "name": "control"
1801
1754
  },
1802
1755
  {
1803
1756
  "kind": "field",
1804
- "name": "schema"
1757
+ "name": "jsonForms"
1805
1758
  },
1806
1759
  {
1807
1760
  "kind": "field",
1808
- "name": "uiSchema"
1761
+ "name": "touched",
1762
+ "type": {
1763
+ "text": "boolean"
1764
+ }
1809
1765
  },
1810
1766
  {
1811
1767
  "kind": "field",
1812
- "name": "isGridView",
1768
+ "name": "hideLabel",
1813
1769
  "type": {
1814
1770
  "text": "boolean"
1815
1771
  },
@@ -1817,97 +1773,91 @@
1817
1773
  },
1818
1774
  {
1819
1775
  "kind": "field",
1820
- "name": "gridViewHeaderCells",
1776
+ "name": "prefix",
1821
1777
  "type": {
1822
- "text": "GridHeaderCell[]"
1823
- },
1824
- "default": "[]"
1778
+ "text": "string"
1779
+ }
1825
1780
  },
1826
1781
  {
1827
1782
  "kind": "field",
1828
- "name": "gridViewUiSchema",
1829
- "type": {
1830
- "text": "any"
1831
- },
1832
- "default": "null"
1783
+ "name": "showDescription",
1784
+ "readonly": true
1833
1785
  },
1834
1786
  {
1835
- "kind": "method",
1836
- "name": "controlChanged"
1787
+ "kind": "field",
1788
+ "name": "computedLabel",
1789
+ "readonly": true
1837
1790
  },
1838
1791
  {
1839
- "kind": "method",
1840
- "name": "addItem"
1792
+ "kind": "field",
1793
+ "name": "getPrefixedTooltip",
1794
+ "readonly": true
1841
1795
  },
1842
1796
  {
1843
- "kind": "method",
1844
- "name": "deleteItem",
1845
- "parameters": [
1846
- {
1847
- "name": "index",
1848
- "type": {
1849
- "text": "number"
1850
- }
1851
- }
1852
- ]
1797
+ "kind": "field",
1798
+ "name": "anyOfError",
1799
+ "readonly": true
1800
+ }
1801
+ ],
1802
+ "attributes": [
1803
+ {
1804
+ "name": "hide-label",
1805
+ "type": {
1806
+ "text": "boolean"
1807
+ },
1808
+ "default": "false",
1809
+ "fieldName": "hideLabel"
1853
1810
  },
1854
1811
  {
1855
- "kind": "method",
1856
- "name": "submitRow",
1857
- "parameters": [
1858
- {
1859
- "name": "index",
1860
- "type": {
1861
- "text": "number"
1862
- },
1863
- "description": "The row index to submit"
1864
- }
1865
- ],
1866
- "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
1812
+ "name": "prefix",
1813
+ "type": {
1814
+ "text": "string"
1815
+ },
1816
+ "fieldName": "prefix"
1867
1817
  }
1868
1818
  ],
1869
1819
  "superclass": {
1870
1820
  "name": "FASTElement",
1871
1821
  "package": "@microsoft/fast-element"
1872
1822
  },
1873
- "tagName": "array-list-wrapper",
1823
+ "tagName": "control-wrapper",
1874
1824
  "customElement": true
1875
1825
  }
1876
1826
  ],
1877
1827
  "exports": [
1878
1828
  {
1879
1829
  "kind": "js",
1880
- "name": "ArrayListWrapperRendererTemplate",
1830
+ "name": "ControlWrapperRendererTemplate",
1881
1831
  "declaration": {
1882
- "name": "ArrayListWrapperRendererTemplate",
1883
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1832
+ "name": "ControlWrapperRendererTemplate",
1833
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
1884
1834
  }
1885
1835
  },
1886
1836
  {
1887
1837
  "kind": "js",
1888
- "name": "ArrayListWrapper",
1838
+ "name": "ControlWrapper",
1889
1839
  "declaration": {
1890
- "name": "ArrayListWrapper",
1891
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1840
+ "name": "ControlWrapper",
1841
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
1892
1842
  }
1893
1843
  },
1894
1844
  {
1895
1845
  "kind": "custom-element-definition",
1896
- "name": "array-list-wrapper",
1846
+ "name": "control-wrapper",
1897
1847
  "declaration": {
1898
- "name": "ArrayListWrapper",
1899
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1848
+ "name": "ControlWrapper",
1849
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
1900
1850
  }
1901
1851
  }
1902
1852
  ]
1903
1853
  },
1904
1854
  {
1905
1855
  "kind": "javascript-module",
1906
- "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
1856
+ "path": "src/jsonforms/renderers/DateControlRenderer.ts",
1907
1857
  "declarations": [
1908
1858
  {
1909
1859
  "kind": "function",
1910
- "name": "BooleanControlRendererTemplate",
1860
+ "name": "DateControlRendererTemplate",
1911
1861
  "parameters": [
1912
1862
  {
1913
1863
  "name": "prefix",
@@ -1920,119 +1870,107 @@
1920
1870
  },
1921
1871
  {
1922
1872
  "kind": "variable",
1923
- "name": "BooleanControlEntry",
1873
+ "name": "DateControlRendererEntry",
1924
1874
  "type": {
1925
1875
  "text": "RendererEntry"
1926
1876
  },
1927
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
1877
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
1928
1878
  }
1929
1879
  ],
1930
1880
  "exports": [
1931
1881
  {
1932
1882
  "kind": "js",
1933
- "name": "BooleanControlRendererTemplate",
1883
+ "name": "DateControlRendererTemplate",
1934
1884
  "declaration": {
1935
- "name": "BooleanControlRendererTemplate",
1936
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1885
+ "name": "DateControlRendererTemplate",
1886
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
1937
1887
  }
1938
1888
  },
1939
1889
  {
1940
1890
  "kind": "js",
1941
- "name": "BooleanControlEntry",
1891
+ "name": "DateControlRendererEntry",
1942
1892
  "declaration": {
1943
- "name": "BooleanControlEntry",
1944
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1893
+ "name": "DateControlRendererEntry",
1894
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
1945
1895
  }
1946
1896
  }
1947
1897
  ]
1948
1898
  },
1949
1899
  {
1950
1900
  "kind": "javascript-module",
1951
- "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
1901
+ "path": "src/jsonforms/renderers/DividerRenderer.ts",
1952
1902
  "declarations": [
1953
1903
  {
1954
1904
  "kind": "function",
1955
- "name": "CategorizationWrapperRendererTemplate",
1905
+ "name": "DividerControlRendererTemplate",
1956
1906
  "parameters": [
1957
1907
  {
1958
1908
  "name": "prefix",
1959
- "default": "'zero'"
1909
+ "default": "'zero'",
1910
+ "type": {
1911
+ "text": "string"
1912
+ }
1960
1913
  }
1961
1914
  ]
1962
1915
  },
1963
1916
  {
1964
- "kind": "class",
1965
- "description": "",
1966
- "name": "CategorizationWrapper",
1967
- "members": [
1968
- {
1969
- "kind": "field",
1970
- "name": "form"
1971
- },
1972
- {
1973
- "kind": "field",
1974
- "name": "control"
1975
- },
1976
- {
1977
- "kind": "method",
1978
- "name": "hasCategoryError",
1979
- "return": {
1980
- "type": {
1981
- "text": "boolean"
1982
- }
1983
- },
1984
- "parameters": [
1985
- {
1986
- "name": "categoryIndex",
1987
- "type": {
1988
- "text": "number"
1989
- }
1990
- }
1991
- ]
1992
- }
1993
- ],
1994
- "superclass": {
1995
- "name": "FASTElement",
1996
- "package": "@microsoft/fast-element"
1917
+ "kind": "variable",
1918
+ "name": "DividerControlRenderer",
1919
+ "type": {
1920
+ "text": "RendererEntry"
1997
1921
  },
1998
- "tagName": "categorization-wrapper",
1999
- "customElement": true
1922
+ "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}"
2000
1923
  }
2001
1924
  ],
2002
1925
  "exports": [
2003
1926
  {
2004
1927
  "kind": "js",
2005
- "name": "CategorizationWrapperRendererTemplate",
1928
+ "name": "DividerControlRendererTemplate",
2006
1929
  "declaration": {
2007
- "name": "CategorizationWrapperRendererTemplate",
2008
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1930
+ "name": "DividerControlRendererTemplate",
1931
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
2009
1932
  }
2010
1933
  },
2011
1934
  {
2012
1935
  "kind": "js",
2013
- "name": "CategorizationWrapper",
2014
- "declaration": {
2015
- "name": "CategorizationWrapper",
2016
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2017
- }
2018
- },
2019
- {
2020
- "kind": "custom-element-definition",
2021
- "name": "categorization-wrapper",
1936
+ "name": "DividerControlRenderer",
2022
1937
  "declaration": {
2023
- "name": "CategorizationWrapper",
2024
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
1938
+ "name": "DividerControlRenderer",
1939
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
2025
1940
  }
2026
1941
  }
2027
1942
  ]
2028
1943
  },
2029
1944
  {
2030
1945
  "kind": "javascript-module",
2031
- "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
1946
+ "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2032
1947
  "declarations": [
2033
1948
  {
2034
1949
  "kind": "function",
2035
- "name": "ConnectedMultiselectControlRendererTemplate",
1950
+ "name": "mapStateToEnumControlProps",
1951
+ "return": {
1952
+ "type": {
1953
+ "text": "StatePropsOfControl & OwnPropsOfEnum"
1954
+ }
1955
+ },
1956
+ "parameters": [
1957
+ {
1958
+ "name": "state",
1959
+ "type": {
1960
+ "text": "JsonFormsState"
1961
+ }
1962
+ },
1963
+ {
1964
+ "name": "ownProps",
1965
+ "type": {
1966
+ "text": "OwnPropsOfControl & OwnPropsOfEnum"
1967
+ }
1968
+ }
1969
+ ]
1970
+ },
1971
+ {
1972
+ "kind": "function",
1973
+ "name": "EnumControlRendererTemplate",
2036
1974
  "parameters": [
2037
1975
  {
2038
1976
  "name": "prefix",
@@ -2045,39 +1983,47 @@
2045
1983
  },
2046
1984
  {
2047
1985
  "kind": "variable",
2048
- "name": "ConnectedMultiselectControlRendererEntry",
1986
+ "name": "EnumControlRendererEntry",
2049
1987
  "type": {
2050
1988
  "text": "RendererEntry"
2051
1989
  },
2052
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
1990
+ "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2053
1991
  }
2054
1992
  ],
2055
1993
  "exports": [
2056
1994
  {
2057
1995
  "kind": "js",
2058
- "name": "ConnectedMultiselectControlRendererTemplate",
1996
+ "name": "mapStateToEnumControlProps",
2059
1997
  "declaration": {
2060
- "name": "ConnectedMultiselectControlRendererTemplate",
2061
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
1998
+ "name": "mapStateToEnumControlProps",
1999
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2062
2000
  }
2063
2001
  },
2064
2002
  {
2065
2003
  "kind": "js",
2066
- "name": "ConnectedMultiselectControlRendererEntry",
2004
+ "name": "EnumControlRendererTemplate",
2067
2005
  "declaration": {
2068
- "name": "ConnectedMultiselectControlRendererEntry",
2069
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2006
+ "name": "EnumControlRendererTemplate",
2007
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2008
+ }
2009
+ },
2010
+ {
2011
+ "kind": "js",
2012
+ "name": "EnumControlRendererEntry",
2013
+ "declaration": {
2014
+ "name": "EnumControlRendererEntry",
2015
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2070
2016
  }
2071
2017
  }
2072
2018
  ]
2073
2019
  },
2074
2020
  {
2075
2021
  "kind": "javascript-module",
2076
- "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
2022
+ "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
2077
2023
  "declarations": [
2078
2024
  {
2079
2025
  "kind": "function",
2080
- "name": "ConnectedSelectControlRendererTemplate",
2026
+ "name": "DateControlRendererTemplate",
2081
2027
  "parameters": [
2082
2028
  {
2083
2029
  "name": "prefix",
@@ -2090,156 +2036,84 @@
2090
2036
  },
2091
2037
  {
2092
2038
  "kind": "variable",
2093
- "name": "ConnectedSelectControlRendererEntry",
2039
+ "name": "FilterDateControlRendererEntry",
2094
2040
  "type": {
2095
- "text": "any"
2041
+ "text": "RendererEntry"
2096
2042
  },
2097
- "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}"
2043
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2098
2044
  }
2099
2045
  ],
2100
2046
  "exports": [
2101
2047
  {
2102
2048
  "kind": "js",
2103
- "name": "ConnectedSelectControlRendererTemplate",
2049
+ "name": "DateControlRendererTemplate",
2104
2050
  "declaration": {
2105
- "name": "ConnectedSelectControlRendererTemplate",
2106
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2051
+ "name": "DateControlRendererTemplate",
2052
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2107
2053
  }
2108
2054
  },
2109
2055
  {
2110
2056
  "kind": "js",
2111
- "name": "ConnectedSelectControlRendererEntry",
2057
+ "name": "FilterDateControlRendererEntry",
2112
2058
  "declaration": {
2113
- "name": "ConnectedSelectControlRendererEntry",
2114
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2059
+ "name": "FilterDateControlRendererEntry",
2060
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2115
2061
  }
2116
2062
  }
2117
2063
  ]
2118
2064
  },
2119
2065
  {
2120
2066
  "kind": "javascript-module",
2121
- "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2067
+ "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
2122
2068
  "declarations": [
2123
2069
  {
2124
- "kind": "variable",
2125
- "name": "ControlWrapperRendererTemplate",
2126
- "default": "html`\n <template>\n ${when(\n (x) => x.control?.visible,\n html`\n <div\n class=${(x) =>\n classNames(\n ['wrapperRoot', true],\n ['labelLeft', x.jsonForms?.core?.uischema?.options?.labelPlacement === 'left'],\n )}\n id=${(x) => x.control.path + '-wrapper'}\n data-test-id=${(x) => x.control.path + '-wrapper'}\n role=\"group\"\n aria-labelledby=${(x) => (x.computedLabel ? x.control.path + '-label' : null)}\n >\n ${when(\n (x) => x.computedLabel,\n html`\n <label\n id=\"${(x) => x.control.path + '-label'}\"\n for=\"${(x) => x.control.path}\"\n class=\"${(x) => classNames('label', ['visually-hidden', x.hideLabel])}\"\n >\n <span>\n ${(x) => x.computedLabel}${when(\n (x) => x.control.uischema?.options?.tooltip,\n (x) => x.getPrefixedTooltip,\n )}\n </span>\n </label>\n `,\n )}\n\n <div class=\"wrapper\">\n <slot></slot>\n </div>\n <div\n class=\"${(x) =>\n (x.control.errors || x.anyOfError) && x.touched ? 'error' : 'description'}\"\n >\n ${(x) =>\n x.touched && (x.control.errors || x.anyOfError)\n ? [x.control.errors, x.anyOfError].filter(Boolean).join(' ')\n : x.showDescription\n ? x.control.description\n : ''}\n </div>\n </div>\n `,\n )}\n </template>\n`"
2127
- },
2128
- {
2129
- "kind": "class",
2130
- "description": "",
2131
- "name": "ControlWrapper",
2132
- "members": [
2133
- {
2134
- "kind": "field",
2135
- "name": "control"
2136
- },
2137
- {
2138
- "kind": "field",
2139
- "name": "jsonForms"
2140
- },
2070
+ "kind": "function",
2071
+ "name": "FilterNumberControlRendererTemplate",
2072
+ "parameters": [
2141
2073
  {
2142
- "kind": "field",
2143
- "name": "touched",
2144
- "type": {
2145
- "text": "boolean"
2146
- }
2147
- },
2148
- {
2149
- "kind": "field",
2150
- "name": "hideLabel",
2151
- "type": {
2152
- "text": "boolean"
2153
- },
2154
- "default": "false"
2155
- },
2156
- {
2157
- "kind": "field",
2158
- "name": "prefix",
2074
+ "name": "prefix",
2075
+ "default": "'zero'",
2159
2076
  "type": {
2160
2077
  "text": "string"
2161
2078
  }
2162
- },
2163
- {
2164
- "kind": "field",
2165
- "name": "showDescription",
2166
- "readonly": true
2167
- },
2168
- {
2169
- "kind": "field",
2170
- "name": "computedLabel",
2171
- "readonly": true
2172
- },
2173
- {
2174
- "kind": "field",
2175
- "name": "getPrefixedTooltip",
2176
- "readonly": true
2177
- },
2178
- {
2179
- "kind": "field",
2180
- "name": "anyOfError",
2181
- "readonly": true
2182
- }
2183
- ],
2184
- "attributes": [
2185
- {
2186
- "name": "hide-label",
2187
- "type": {
2188
- "text": "boolean"
2189
- },
2190
- "default": "false",
2191
- "fieldName": "hideLabel"
2192
- },
2193
- {
2194
- "name": "prefix",
2195
- "type": {
2196
- "text": "string"
2197
- },
2198
- "fieldName": "prefix"
2199
2079
  }
2200
- ],
2201
- "superclass": {
2202
- "name": "FASTElement",
2203
- "package": "@microsoft/fast-element"
2080
+ ]
2081
+ },
2082
+ {
2083
+ "kind": "variable",
2084
+ "name": "FilterNumberControlRendererEntry",
2085
+ "type": {
2086
+ "text": "RendererEntry"
2204
2087
  },
2205
- "tagName": "control-wrapper",
2206
- "customElement": true
2088
+ "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
2207
2089
  }
2208
2090
  ],
2209
2091
  "exports": [
2210
2092
  {
2211
2093
  "kind": "js",
2212
- "name": "ControlWrapperRendererTemplate",
2094
+ "name": "FilterNumberControlRendererTemplate",
2213
2095
  "declaration": {
2214
- "name": "ControlWrapperRendererTemplate",
2215
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2096
+ "name": "FilterNumberControlRendererTemplate",
2097
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2216
2098
  }
2217
2099
  },
2218
2100
  {
2219
2101
  "kind": "js",
2220
- "name": "ControlWrapper",
2221
- "declaration": {
2222
- "name": "ControlWrapper",
2223
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2224
- }
2225
- },
2226
- {
2227
- "kind": "custom-element-definition",
2228
- "name": "control-wrapper",
2102
+ "name": "FilterNumberControlRendererEntry",
2229
2103
  "declaration": {
2230
- "name": "ControlWrapper",
2231
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2104
+ "name": "FilterNumberControlRendererEntry",
2105
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2232
2106
  }
2233
2107
  }
2234
2108
  ]
2235
2109
  },
2236
2110
  {
2237
2111
  "kind": "javascript-module",
2238
- "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2112
+ "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
2239
2113
  "declarations": [
2240
2114
  {
2241
2115
  "kind": "function",
2242
- "name": "DateControlRendererTemplate",
2116
+ "name": "TimeControlRendererTemplate",
2243
2117
  "parameters": [
2244
2118
  {
2245
2119
  "name": "prefix",
@@ -2252,411 +2126,155 @@
2252
2126
  },
2253
2127
  {
2254
2128
  "kind": "variable",
2255
- "name": "DateControlRendererEntry",
2129
+ "name": "FilterTimeControlRendererEntry",
2256
2130
  "type": {
2257
2131
  "text": "RendererEntry"
2258
2132
  },
2259
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2133
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2260
2134
  }
2261
2135
  ],
2262
2136
  "exports": [
2263
2137
  {
2264
2138
  "kind": "js",
2265
- "name": "DateControlRendererTemplate",
2139
+ "name": "TimeControlRendererTemplate",
2266
2140
  "declaration": {
2267
- "name": "DateControlRendererTemplate",
2268
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2141
+ "name": "TimeControlRendererTemplate",
2142
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2269
2143
  }
2270
2144
  },
2271
2145
  {
2272
2146
  "kind": "js",
2273
- "name": "DateControlRendererEntry",
2147
+ "name": "FilterTimeControlRendererEntry",
2274
2148
  "declaration": {
2275
- "name": "DateControlRendererEntry",
2276
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2149
+ "name": "FilterTimeControlRendererEntry",
2150
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2277
2151
  }
2278
2152
  }
2279
2153
  ]
2280
2154
  },
2281
2155
  {
2282
2156
  "kind": "javascript-module",
2283
- "path": "src/jsonforms/renderers/DividerRenderer.ts",
2157
+ "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
2284
2158
  "declarations": [
2285
2159
  {
2286
- "kind": "function",
2287
- "name": "DividerControlRendererTemplate",
2288
- "parameters": [
2289
- {
2290
- "name": "prefix",
2291
- "default": "'zero'",
2292
- "type": {
2293
- "text": "string"
2294
- }
2295
- }
2296
- ]
2160
+ "kind": "variable",
2161
+ "name": "InvisibleControlRendererTemplate",
2162
+ "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`"
2297
2163
  },
2298
2164
  {
2299
2165
  "kind": "variable",
2300
- "name": "DividerControlRenderer",
2166
+ "name": "InvisibleControlEntry",
2301
2167
  "type": {
2302
2168
  "text": "RendererEntry"
2303
2169
  },
2304
- "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}"
2170
+ "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
2305
2171
  }
2306
2172
  ],
2307
2173
  "exports": [
2308
2174
  {
2309
2175
  "kind": "js",
2310
- "name": "DividerControlRendererTemplate",
2176
+ "name": "InvisibleControlRendererTemplate",
2311
2177
  "declaration": {
2312
- "name": "DividerControlRendererTemplate",
2313
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2178
+ "name": "InvisibleControlRendererTemplate",
2179
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2314
2180
  }
2315
2181
  },
2316
2182
  {
2317
2183
  "kind": "js",
2318
- "name": "DividerControlRenderer",
2184
+ "name": "InvisibleControlEntry",
2319
2185
  "declaration": {
2320
- "name": "DividerControlRenderer",
2321
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2186
+ "name": "InvisibleControlEntry",
2187
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2322
2188
  }
2323
2189
  }
2324
2190
  ]
2325
2191
  },
2326
2192
  {
2327
2193
  "kind": "javascript-module",
2328
- "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2194
+ "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
2329
2195
  "declarations": [
2330
2196
  {
2331
- "kind": "function",
2332
- "name": "mapStateToEnumControlProps",
2333
- "return": {
2334
- "type": {
2335
- "text": "StatePropsOfControl & OwnPropsOfEnum"
2336
- }
2337
- },
2338
- "parameters": [
2339
- {
2340
- "name": "state",
2341
- "type": {
2342
- "text": "JsonFormsState"
2343
- }
2344
- },
2345
- {
2346
- "name": "ownProps",
2347
- "type": {
2348
- "text": "OwnPropsOfControl & OwnPropsOfEnum"
2349
- }
2350
- }
2351
- ]
2352
- },
2353
- {
2354
- "kind": "function",
2355
- "name": "EnumControlRendererTemplate",
2356
- "parameters": [
2357
- {
2358
- "name": "prefix",
2359
- "default": "'zero'",
2360
- "type": {
2361
- "text": "string"
2362
- }
2363
- }
2364
- ]
2197
+ "kind": "variable",
2198
+ "name": "LayoutArrayRendererTemplate",
2199
+ "default": "html`\n <template>\n <div style=\"${(x) => (x.control.uischema.options?.border ? borderStyle : '')}\">\n <control-wrapper\n :control=${(x) => x.control}\n :jsonForms=${(x) => x.jsonforms}\n :touched=${(x) => x.touched}\n ?submitted=${(x) => x.submitted}\n >\n <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>\n </control-wrapper>\n </div>\n </template>\n`"
2365
2200
  },
2366
2201
  {
2367
2202
  "kind": "variable",
2368
- "name": "EnumControlRendererEntry",
2203
+ "name": "LayoutArrayRendererEntry",
2369
2204
  "type": {
2370
- "text": "RendererEntry"
2205
+ "text": "any"
2371
2206
  },
2372
- "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2207
+ "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
2373
2208
  }
2374
2209
  ],
2375
2210
  "exports": [
2376
2211
  {
2377
2212
  "kind": "js",
2378
- "name": "mapStateToEnumControlProps",
2379
- "declaration": {
2380
- "name": "mapStateToEnumControlProps",
2381
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2382
- }
2383
- },
2384
- {
2385
- "kind": "js",
2386
- "name": "EnumControlRendererTemplate",
2213
+ "name": "LayoutArrayRendererTemplate",
2387
2214
  "declaration": {
2388
- "name": "EnumControlRendererTemplate",
2389
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2215
+ "name": "LayoutArrayRendererTemplate",
2216
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2390
2217
  }
2391
2218
  },
2392
2219
  {
2393
2220
  "kind": "js",
2394
- "name": "EnumControlRendererEntry",
2221
+ "name": "LayoutArrayRendererEntry",
2395
2222
  "declaration": {
2396
- "name": "EnumControlRendererEntry",
2397
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2223
+ "name": "LayoutArrayRendererEntry",
2224
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2398
2225
  }
2399
2226
  }
2400
2227
  ]
2401
2228
  },
2402
2229
  {
2403
2230
  "kind": "javascript-module",
2404
- "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
2231
+ "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
2405
2232
  "declarations": [
2406
2233
  {
2407
- "kind": "function",
2408
- "name": "DateControlRendererTemplate",
2409
- "parameters": [
2410
- {
2411
- "name": "prefix",
2412
- "default": "'zero'",
2413
- "type": {
2414
- "text": "string"
2415
- }
2416
- }
2417
- ]
2234
+ "kind": "variable",
2235
+ "name": "LayoutCategorizationRendererTemplate",
2236
+ "default": "html`\n <template>\n <categorization-wrapper :form=${(x) => x} :control=${(x) => x.control}></categorization-wrapper>\n </template>\n`"
2418
2237
  },
2419
2238
  {
2420
2239
  "kind": "variable",
2421
- "name": "FilterDateControlRendererEntry",
2240
+ "name": "LayoutCategorizationRendererEntry",
2422
2241
  "type": {
2423
- "text": "RendererEntry"
2242
+ "text": "any"
2424
2243
  },
2425
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2244
+ "default": "{\n renderer: LayoutCategorizationRendererTemplate,\n tester: rankWith(LAYOUT_CATEGORIZATION_RANK, (uiSchema) => uiSchema.type === 'Categorization'),\n mapper: mapStateToLayoutProps,\n}"
2426
2245
  }
2427
2246
  ],
2428
2247
  "exports": [
2429
2248
  {
2430
2249
  "kind": "js",
2431
- "name": "DateControlRendererTemplate",
2250
+ "name": "LayoutCategorizationRendererTemplate",
2432
2251
  "declaration": {
2433
- "name": "DateControlRendererTemplate",
2434
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2252
+ "name": "LayoutCategorizationRendererTemplate",
2253
+ "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2435
2254
  }
2436
2255
  },
2437
2256
  {
2438
2257
  "kind": "js",
2439
- "name": "FilterDateControlRendererEntry",
2258
+ "name": "LayoutCategorizationRendererEntry",
2440
2259
  "declaration": {
2441
- "name": "FilterDateControlRendererEntry",
2442
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2260
+ "name": "LayoutCategorizationRendererEntry",
2261
+ "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2443
2262
  }
2444
2263
  }
2445
2264
  ]
2446
2265
  },
2447
2266
  {
2448
2267
  "kind": "javascript-module",
2449
- "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
2268
+ "path": "src/jsonforms/renderers/LayoutFormGridRenderer.ts",
2450
2269
  "declarations": [
2451
2270
  {
2452
- "kind": "function",
2453
- "name": "FilterNumberControlRendererTemplate",
2454
- "parameters": [
2455
- {
2456
- "name": "prefix",
2457
- "default": "'zero'",
2458
- "type": {
2459
- "text": "string"
2460
- }
2461
- }
2462
- ]
2271
+ "kind": "variable",
2272
+ "name": "LayoutFormGridRendererTemplate",
2273
+ "default": "html`\n <template>\n <layout-wrapper :control=${(x) => x.control}>\n <div\n style=\"\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 8px;\n \"\n >\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n ?submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n </layout-wrapper>\n </template>\n`"
2463
2274
  },
2464
2275
  {
2465
2276
  "kind": "variable",
2466
- "name": "FilterNumberControlRendererEntry",
2467
- "type": {
2468
- "text": "RendererEntry"
2469
- },
2470
- "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
2471
- }
2472
- ],
2473
- "exports": [
2474
- {
2475
- "kind": "js",
2476
- "name": "FilterNumberControlRendererTemplate",
2477
- "declaration": {
2478
- "name": "FilterNumberControlRendererTemplate",
2479
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2480
- }
2481
- },
2482
- {
2483
- "kind": "js",
2484
- "name": "FilterNumberControlRendererEntry",
2485
- "declaration": {
2486
- "name": "FilterNumberControlRendererEntry",
2487
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2488
- }
2489
- }
2490
- ]
2491
- },
2492
- {
2493
- "kind": "javascript-module",
2494
- "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
2495
- "declarations": [
2496
- {
2497
- "kind": "function",
2498
- "name": "TimeControlRendererTemplate",
2499
- "parameters": [
2500
- {
2501
- "name": "prefix",
2502
- "default": "'zero'",
2503
- "type": {
2504
- "text": "string"
2505
- }
2506
- }
2507
- ]
2508
- },
2509
- {
2510
- "kind": "variable",
2511
- "name": "FilterTimeControlRendererEntry",
2512
- "type": {
2513
- "text": "RendererEntry"
2514
- },
2515
- "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2516
- }
2517
- ],
2518
- "exports": [
2519
- {
2520
- "kind": "js",
2521
- "name": "TimeControlRendererTemplate",
2522
- "declaration": {
2523
- "name": "TimeControlRendererTemplate",
2524
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2525
- }
2526
- },
2527
- {
2528
- "kind": "js",
2529
- "name": "FilterTimeControlRendererEntry",
2530
- "declaration": {
2531
- "name": "FilterTimeControlRendererEntry",
2532
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2533
- }
2534
- }
2535
- ]
2536
- },
2537
- {
2538
- "kind": "javascript-module",
2539
- "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
2540
- "declarations": [
2541
- {
2542
- "kind": "variable",
2543
- "name": "InvisibleControlRendererTemplate",
2544
- "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`"
2545
- },
2546
- {
2547
- "kind": "variable",
2548
- "name": "InvisibleControlEntry",
2549
- "type": {
2550
- "text": "RendererEntry"
2551
- },
2552
- "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
2553
- }
2554
- ],
2555
- "exports": [
2556
- {
2557
- "kind": "js",
2558
- "name": "InvisibleControlRendererTemplate",
2559
- "declaration": {
2560
- "name": "InvisibleControlRendererTemplate",
2561
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2562
- }
2563
- },
2564
- {
2565
- "kind": "js",
2566
- "name": "InvisibleControlEntry",
2567
- "declaration": {
2568
- "name": "InvisibleControlEntry",
2569
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
2570
- }
2571
- }
2572
- ]
2573
- },
2574
- {
2575
- "kind": "javascript-module",
2576
- "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
2577
- "declarations": [
2578
- {
2579
- "kind": "variable",
2580
- "name": "LayoutArrayRendererTemplate",
2581
- "default": "html`\n <template>\n <div style=\"${(x) => (x.control.uischema.options?.border ? borderStyle : '')}\">\n <control-wrapper\n :control=${(x) => x.control}\n :jsonForms=${(x) => x.jsonforms}\n :touched=${(x) => x.touched}\n ?submitted=${(x) => x.submitted}\n >\n <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>\n </control-wrapper>\n </div>\n </template>\n`"
2582
- },
2583
- {
2584
- "kind": "variable",
2585
- "name": "LayoutArrayRendererEntry",
2586
- "type": {
2587
- "text": "any"
2588
- },
2589
- "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
2590
- }
2591
- ],
2592
- "exports": [
2593
- {
2594
- "kind": "js",
2595
- "name": "LayoutArrayRendererTemplate",
2596
- "declaration": {
2597
- "name": "LayoutArrayRendererTemplate",
2598
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2599
- }
2600
- },
2601
- {
2602
- "kind": "js",
2603
- "name": "LayoutArrayRendererEntry",
2604
- "declaration": {
2605
- "name": "LayoutArrayRendererEntry",
2606
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
2607
- }
2608
- }
2609
- ]
2610
- },
2611
- {
2612
- "kind": "javascript-module",
2613
- "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
2614
- "declarations": [
2615
- {
2616
- "kind": "variable",
2617
- "name": "LayoutCategorizationRendererTemplate",
2618
- "default": "html`\n <template>\n <categorization-wrapper :form=${(x) => x} :control=${(x) => x.control}></categorization-wrapper>\n </template>\n`"
2619
- },
2620
- {
2621
- "kind": "variable",
2622
- "name": "LayoutCategorizationRendererEntry",
2623
- "type": {
2624
- "text": "any"
2625
- },
2626
- "default": "{\n renderer: LayoutCategorizationRendererTemplate,\n tester: rankWith(LAYOUT_CATEGORIZATION_RANK, (uiSchema) => uiSchema.type === 'Categorization'),\n mapper: mapStateToLayoutProps,\n}"
2627
- }
2628
- ],
2629
- "exports": [
2630
- {
2631
- "kind": "js",
2632
- "name": "LayoutCategorizationRendererTemplate",
2633
- "declaration": {
2634
- "name": "LayoutCategorizationRendererTemplate",
2635
- "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2636
- }
2637
- },
2638
- {
2639
- "kind": "js",
2640
- "name": "LayoutCategorizationRendererEntry",
2641
- "declaration": {
2642
- "name": "LayoutCategorizationRendererEntry",
2643
- "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
2644
- }
2645
- }
2646
- ]
2647
- },
2648
- {
2649
- "kind": "javascript-module",
2650
- "path": "src/jsonforms/renderers/LayoutFormGridRenderer.ts",
2651
- "declarations": [
2652
- {
2653
- "kind": "variable",
2654
- "name": "LayoutFormGridRendererTemplate",
2655
- "default": "html`\n <template>\n <layout-wrapper :control=${(x) => x.control}>\n <div\n style=\"\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 8px;\n \"\n >\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n ?submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n </layout-wrapper>\n </template>\n`"
2656
- },
2657
- {
2658
- "kind": "variable",
2659
- "name": "LayoutFormGridEntry",
2277
+ "name": "LayoutFormGridEntry",
2660
2278
  "type": {
2661
2279
  "text": "any"
2662
2280
  },
@@ -3632,208 +3250,590 @@
3632
3250
  "exports": [
3633
3251
  {
3634
3252
  "kind": "js",
3635
- "name": "isArray",
3253
+ "name": "isArray",
3254
+ "declaration": {
3255
+ "name": "isArray",
3256
+ "module": "src/jsonforms/testers/isArray.ts"
3257
+ }
3258
+ }
3259
+ ]
3260
+ },
3261
+ {
3262
+ "kind": "javascript-module",
3263
+ "path": "src/jsonforms/testers/isDate.ts",
3264
+ "declarations": [
3265
+ {
3266
+ "kind": "variable",
3267
+ "name": "isOneOfDate"
3268
+ }
3269
+ ],
3270
+ "exports": [
3271
+ {
3272
+ "kind": "js",
3273
+ "name": "isOneOfDate",
3274
+ "declaration": {
3275
+ "name": "isOneOfDate",
3276
+ "module": "src/jsonforms/testers/isDate.ts"
3277
+ }
3278
+ }
3279
+ ]
3280
+ },
3281
+ {
3282
+ "kind": "javascript-module",
3283
+ "path": "src/jsonforms/testers/isInvisible.ts",
3284
+ "declarations": [
3285
+ {
3286
+ "kind": "function",
3287
+ "name": "isInvisible",
3288
+ "return": {
3289
+ "type": {
3290
+ "text": "boolean"
3291
+ }
3292
+ },
3293
+ "parameters": [
3294
+ {
3295
+ "name": "uischema",
3296
+ "type": {
3297
+ "text": "UISchemaElement"
3298
+ }
3299
+ },
3300
+ {
3301
+ "name": "schema",
3302
+ "type": {
3303
+ "text": "JsonSchema"
3304
+ }
3305
+ },
3306
+ {
3307
+ "name": "context",
3308
+ "type": {
3309
+ "text": "TesterContext"
3310
+ }
3311
+ }
3312
+ ]
3313
+ }
3314
+ ],
3315
+ "exports": [
3316
+ {
3317
+ "kind": "js",
3318
+ "name": "isInvisible",
3319
+ "declaration": {
3320
+ "name": "isInvisible",
3321
+ "module": "src/jsonforms/testers/isInvisible.ts"
3322
+ }
3323
+ }
3324
+ ]
3325
+ },
3326
+ {
3327
+ "kind": "javascript-module",
3328
+ "path": "src/jsonforms/testers/isOneOfBoolean.ts",
3329
+ "declarations": [
3330
+ {
3331
+ "kind": "variable",
3332
+ "name": "isOneOfBoolean"
3333
+ }
3334
+ ],
3335
+ "exports": [
3336
+ {
3337
+ "kind": "js",
3338
+ "name": "isOneOfBoolean",
3339
+ "declaration": {
3340
+ "name": "isOneOfBoolean",
3341
+ "module": "src/jsonforms/testers/isOneOfBoolean.ts"
3342
+ }
3343
+ }
3344
+ ]
3345
+ },
3346
+ {
3347
+ "kind": "javascript-module",
3348
+ "path": "src/jsonforms/testers/isOneOfEnum.ts",
3349
+ "declarations": [
3350
+ {
3351
+ "kind": "variable",
3352
+ "name": "isOneOfEnum"
3353
+ }
3354
+ ],
3355
+ "exports": [
3356
+ {
3357
+ "kind": "js",
3358
+ "name": "isOneOfEnum",
3359
+ "declaration": {
3360
+ "name": "isOneOfEnum",
3361
+ "module": "src/jsonforms/testers/isOneOfEnum.ts"
3362
+ }
3363
+ }
3364
+ ]
3365
+ },
3366
+ {
3367
+ "kind": "javascript-module",
3368
+ "path": "src/jsonforms/testers/isOneOfNumber.ts",
3369
+ "declarations": [
3370
+ {
3371
+ "kind": "variable",
3372
+ "name": "isOneOfNumber"
3373
+ }
3374
+ ],
3375
+ "exports": [
3376
+ {
3377
+ "kind": "js",
3378
+ "name": "isOneOfNumber",
3379
+ "declaration": {
3380
+ "name": "isOneOfNumber",
3381
+ "module": "src/jsonforms/testers/isOneOfNumber.ts"
3382
+ }
3383
+ }
3384
+ ]
3385
+ },
3386
+ {
3387
+ "kind": "javascript-module",
3388
+ "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
3389
+ "declarations": [
3390
+ {
3391
+ "kind": "variable",
3392
+ "name": "isOneOfOptionMultiselect"
3393
+ }
3394
+ ],
3395
+ "exports": [
3396
+ {
3397
+ "kind": "js",
3398
+ "name": "isOneOfOptionMultiselect",
3399
+ "declaration": {
3400
+ "name": "isOneOfOptionMultiselect",
3401
+ "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
3402
+ }
3403
+ }
3404
+ ]
3405
+ },
3406
+ {
3407
+ "kind": "javascript-module",
3408
+ "path": "src/jsonforms/testers/isTime.ts",
3409
+ "declarations": [
3410
+ {
3411
+ "kind": "variable",
3412
+ "name": "isOneOfTime"
3413
+ }
3414
+ ],
3415
+ "exports": [
3416
+ {
3417
+ "kind": "js",
3418
+ "name": "isOneOfTime",
3419
+ "declaration": {
3420
+ "name": "isOneOfTime",
3421
+ "module": "src/jsonforms/testers/isTime.ts"
3422
+ }
3423
+ }
3424
+ ]
3425
+ },
3426
+ {
3427
+ "kind": "javascript-module",
3428
+ "path": "src/jsonforms/testers/optionIs.ts",
3429
+ "declarations": [
3430
+ {
3431
+ "kind": "function",
3432
+ "name": "optionIs",
3433
+ "return": {
3434
+ "type": {
3435
+ "text": "Tester"
3436
+ }
3437
+ },
3438
+ "parameters": [
3439
+ {
3440
+ "name": "optionName",
3441
+ "type": {
3442
+ "text": "string"
3443
+ }
3444
+ }
3445
+ ]
3446
+ }
3447
+ ],
3448
+ "exports": [
3449
+ {
3450
+ "kind": "js",
3451
+ "name": "optionIs",
3452
+ "declaration": {
3453
+ "name": "optionIs",
3454
+ "module": "src/jsonforms/testers/optionIs.ts"
3455
+ }
3456
+ }
3457
+ ]
3458
+ },
3459
+ {
3460
+ "kind": "javascript-module",
3461
+ "path": "src/utils/confirmation-dialog-utils.ts",
3462
+ "declarations": [],
3463
+ "exports": []
3464
+ },
3465
+ {
3466
+ "kind": "javascript-module",
3467
+ "path": "src/utils/csv-parser.ts",
3468
+ "declarations": [
3469
+ {
3470
+ "kind": "function",
3471
+ "name": "parseCsv",
3472
+ "return": {
3473
+ "type": {
3474
+ "text": ""
3475
+ }
3476
+ },
3477
+ "parameters": [
3478
+ {
3479
+ "name": "content",
3480
+ "type": {
3481
+ "text": "string"
3482
+ },
3483
+ "description": "The CSV content as a string"
3484
+ }
3485
+ ],
3486
+ "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
3487
+ "privacy": "public"
3488
+ },
3489
+ {
3490
+ "kind": "function",
3491
+ "name": "mapCsvToSchema",
3492
+ "return": {
3493
+ "type": {
3494
+ "text": ""
3495
+ }
3496
+ },
3497
+ "parameters": [
3498
+ {
3499
+ "name": "csvRows",
3500
+ "type": {
3501
+ "text": "Record<string, string>[]"
3502
+ },
3503
+ "description": "The parsed CSV rows"
3504
+ },
3505
+ {
3506
+ "name": "schema",
3507
+ "type": {
3508
+ "text": "JSONSchema7 | undefined"
3509
+ },
3510
+ "description": "The JSON schema defining the fields"
3511
+ },
3512
+ {
3513
+ "name": "uiSchema",
3514
+ "optional": true,
3515
+ "type": {
3516
+ "text": "UiSchema"
3517
+ },
3518
+ "description": "Optional UI schema to map labels to field names on import"
3519
+ }
3520
+ ],
3521
+ "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.",
3522
+ "privacy": "public"
3523
+ },
3524
+ {
3525
+ "kind": "function",
3526
+ "name": "generateCsvTemplate",
3527
+ "return": {
3528
+ "type": {
3529
+ "text": ""
3530
+ }
3531
+ },
3532
+ "parameters": [
3533
+ {
3534
+ "name": "schema",
3535
+ "type": {
3536
+ "text": "JSONSchema7 | undefined"
3537
+ },
3538
+ "description": "The JSON schema defining the fields"
3539
+ },
3540
+ {
3541
+ "name": "uiSchema",
3542
+ "optional": true,
3543
+ "type": {
3544
+ "text": "UiSchema"
3545
+ },
3546
+ "description": "Optional UI schema to determine field order and visibility"
3547
+ },
3548
+ {
3549
+ "name": "includeOptionalFields",
3550
+ "default": "true",
3551
+ "type": {
3552
+ "text": "boolean"
3553
+ },
3554
+ "description": "Whether to include optional fields when no UI schema (default: true)"
3555
+ },
3556
+ {
3557
+ "name": "includeBom",
3558
+ "default": "true",
3559
+ "type": {
3560
+ "text": "boolean"
3561
+ },
3562
+ "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
3563
+ }
3564
+ ],
3565
+ "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.",
3566
+ "privacy": "public"
3567
+ },
3568
+ {
3569
+ "kind": "function",
3570
+ "name": "downloadCsvTemplate",
3571
+ "return": {
3572
+ "type": {
3573
+ "text": "void"
3574
+ }
3575
+ },
3576
+ "parameters": [
3577
+ {
3578
+ "name": "csvContent",
3579
+ "type": {
3580
+ "text": "string"
3581
+ },
3582
+ "description": "The CSV content to download"
3583
+ },
3584
+ {
3585
+ "name": "fileName",
3586
+ "default": "'template.csv'",
3587
+ "type": {
3588
+ "text": "string"
3589
+ },
3590
+ "description": "The name for the downloaded file (default: 'template.csv')"
3591
+ }
3592
+ ],
3593
+ "description": "Triggers a download of the CSV template file in the browser.",
3594
+ "privacy": "public"
3595
+ }
3596
+ ],
3597
+ "exports": [
3598
+ {
3599
+ "kind": "js",
3600
+ "name": "parseCsv",
3601
+ "declaration": {
3602
+ "name": "parseCsv",
3603
+ "module": "src/utils/csv-parser.ts"
3604
+ }
3605
+ },
3606
+ {
3607
+ "kind": "js",
3608
+ "name": "mapCsvToSchema",
3609
+ "declaration": {
3610
+ "name": "mapCsvToSchema",
3611
+ "module": "src/utils/csv-parser.ts"
3612
+ }
3613
+ },
3614
+ {
3615
+ "kind": "js",
3616
+ "name": "generateCsvTemplate",
3617
+ "declaration": {
3618
+ "name": "generateCsvTemplate",
3619
+ "module": "src/utils/csv-parser.ts"
3620
+ }
3621
+ },
3622
+ {
3623
+ "kind": "js",
3624
+ "name": "downloadCsvTemplate",
3636
3625
  "declaration": {
3637
- "name": "isArray",
3638
- "module": "src/jsonforms/testers/isArray.ts"
3626
+ "name": "downloadCsvTemplate",
3627
+ "module": "src/utils/csv-parser.ts"
3639
3628
  }
3640
3629
  }
3641
3630
  ]
3642
3631
  },
3643
3632
  {
3644
3633
  "kind": "javascript-module",
3645
- "path": "src/jsonforms/testers/isDate.ts",
3646
- "declarations": [
3647
- {
3648
- "kind": "variable",
3649
- "name": "isOneOfDate"
3650
- }
3651
- ],
3652
- "exports": [
3653
- {
3654
- "kind": "js",
3655
- "name": "isOneOfDate",
3656
- "declaration": {
3657
- "name": "isOneOfDate",
3658
- "module": "src/jsonforms/testers/isDate.ts"
3659
- }
3660
- }
3661
- ]
3634
+ "path": "src/utils/filters.ts",
3635
+ "declarations": [],
3636
+ "exports": []
3662
3637
  },
3663
3638
  {
3664
3639
  "kind": "javascript-module",
3665
- "path": "src/jsonforms/testers/isInvisible.ts",
3640
+ "path": "src/utils/form-utils.ts",
3666
3641
  "declarations": [
3667
3642
  {
3668
3643
  "kind": "function",
3669
- "name": "isInvisible",
3644
+ "name": "removeDataPropertiesNotInSchema",
3670
3645
  "return": {
3671
3646
  "type": {
3672
- "text": "boolean"
3647
+ "text": ""
3673
3648
  }
3674
3649
  },
3675
3650
  "parameters": [
3676
3651
  {
3677
- "name": "uischema",
3678
- "type": {
3679
- "text": "UISchemaElement"
3680
- }
3681
- },
3682
- {
3683
- "name": "schema",
3652
+ "name": "data",
3684
3653
  "type": {
3685
- "text": "JsonSchema"
3686
- }
3654
+ "text": "any"
3655
+ },
3656
+ "description": "The data object to clean"
3687
3657
  },
3688
3658
  {
3689
- "name": "context",
3659
+ "name": "jsonSchema",
3690
3660
  "type": {
3691
- "text": "TesterContext"
3692
- }
3661
+ "text": "JSONSchema7"
3662
+ },
3663
+ "description": "The JSON schema to validate against"
3693
3664
  }
3694
- ]
3665
+ ],
3666
+ "description": "Removes data properties that aren't part of the schema"
3695
3667
  }
3696
3668
  ],
3697
3669
  "exports": [
3698
3670
  {
3699
3671
  "kind": "js",
3700
- "name": "isInvisible",
3672
+ "name": "removeDataPropertiesNotInSchema",
3701
3673
  "declaration": {
3702
- "name": "isInvisible",
3703
- "module": "src/jsonforms/testers/isInvisible.ts"
3674
+ "name": "removeDataPropertiesNotInSchema",
3675
+ "module": "src/utils/form-utils.ts"
3704
3676
  }
3705
3677
  }
3706
3678
  ]
3707
3679
  },
3708
3680
  {
3709
3681
  "kind": "javascript-module",
3710
- "path": "src/jsonforms/testers/isOneOfBoolean.ts",
3711
- "declarations": [
3712
- {
3713
- "kind": "variable",
3714
- "name": "isOneOfBoolean"
3715
- }
3716
- ],
3682
+ "path": "src/utils/index.ts",
3683
+ "declarations": [],
3717
3684
  "exports": [
3718
3685
  {
3719
3686
  "kind": "js",
3720
- "name": "isOneOfBoolean",
3687
+ "name": "*",
3721
3688
  "declaration": {
3722
- "name": "isOneOfBoolean",
3723
- "module": "src/jsonforms/testers/isOneOfBoolean.ts"
3689
+ "name": "*",
3690
+ "package": "./csv-parser"
3724
3691
  }
3725
- }
3726
- ]
3727
- },
3728
- {
3729
- "kind": "javascript-module",
3730
- "path": "src/jsonforms/testers/isOneOfEnum.ts",
3731
- "declarations": [
3732
- {
3733
- "kind": "variable",
3734
- "name": "isOneOfEnum"
3735
- }
3736
- ],
3737
- "exports": [
3692
+ },
3738
3693
  {
3739
3694
  "kind": "js",
3740
- "name": "isOneOfEnum",
3695
+ "name": "*",
3741
3696
  "declaration": {
3742
- "name": "isOneOfEnum",
3743
- "module": "src/jsonforms/testers/isOneOfEnum.ts"
3697
+ "name": "*",
3698
+ "package": "./filters"
3744
3699
  }
3745
- }
3746
- ]
3747
- },
3748
- {
3749
- "kind": "javascript-module",
3750
- "path": "src/jsonforms/testers/isOneOfNumber.ts",
3751
- "declarations": [
3752
- {
3753
- "kind": "variable",
3754
- "name": "isOneOfNumber"
3755
- }
3756
- ],
3757
- "exports": [
3700
+ },
3758
3701
  {
3759
3702
  "kind": "js",
3760
- "name": "isOneOfNumber",
3703
+ "name": "*",
3761
3704
  "declaration": {
3762
- "name": "isOneOfNumber",
3763
- "module": "src/jsonforms/testers/isOneOfNumber.ts"
3705
+ "name": "*",
3706
+ "package": "./logger"
3764
3707
  }
3765
- }
3766
- ]
3767
- },
3768
- {
3769
- "kind": "javascript-module",
3770
- "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
3771
- "declarations": [
3772
- {
3773
- "kind": "variable",
3774
- "name": "isOneOfOptionMultiselect"
3775
- }
3776
- ],
3777
- "exports": [
3708
+ },
3778
3709
  {
3779
3710
  "kind": "js",
3780
- "name": "isOneOfOptionMultiselect",
3711
+ "name": "*",
3781
3712
  "declaration": {
3782
- "name": "isOneOfOptionMultiselect",
3783
- "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
3713
+ "name": "*",
3714
+ "package": "./translation"
3784
3715
  }
3785
- }
3786
- ]
3787
- },
3788
- {
3789
- "kind": "javascript-module",
3790
- "path": "src/jsonforms/testers/isTime.ts",
3791
- "declarations": [
3716
+ },
3792
3717
  {
3793
- "kind": "variable",
3794
- "name": "isOneOfTime"
3795
- }
3796
- ],
3797
- "exports": [
3718
+ "kind": "js",
3719
+ "name": "*",
3720
+ "declaration": {
3721
+ "name": "*",
3722
+ "package": "./validation"
3723
+ }
3724
+ },
3798
3725
  {
3799
3726
  "kind": "js",
3800
- "name": "isOneOfTime",
3727
+ "name": "*",
3801
3728
  "declaration": {
3802
- "name": "isOneOfTime",
3803
- "module": "src/jsonforms/testers/isTime.ts"
3729
+ "name": "*",
3730
+ "package": "./types"
3804
3731
  }
3805
3732
  }
3806
3733
  ]
3807
3734
  },
3808
3735
  {
3809
3736
  "kind": "javascript-module",
3810
- "path": "src/jsonforms/testers/optionIs.ts",
3737
+ "path": "src/utils/logger.ts",
3738
+ "declarations": [],
3739
+ "exports": []
3740
+ },
3741
+ {
3742
+ "kind": "javascript-module",
3743
+ "path": "src/utils/schema-utils.ts",
3744
+ "declarations": [],
3745
+ "exports": []
3746
+ },
3747
+ {
3748
+ "kind": "javascript-module",
3749
+ "path": "src/utils/translation.ts",
3750
+ "declarations": [],
3751
+ "exports": []
3752
+ },
3753
+ {
3754
+ "kind": "javascript-module",
3755
+ "path": "src/utils/types.ts",
3756
+ "declarations": [],
3757
+ "exports": []
3758
+ },
3759
+ {
3760
+ "kind": "javascript-module",
3761
+ "path": "src/utils/validation.ts",
3811
3762
  "declarations": [
3812
3763
  {
3813
3764
  "kind": "function",
3814
- "name": "optionIs",
3765
+ "name": "mustMatch",
3766
+ "parameters": [
3767
+ {
3768
+ "name": "target",
3769
+ "type": {
3770
+ "text": "string"
3771
+ },
3772
+ "description": "any other field"
3773
+ }
3774
+ ],
3775
+ "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
3815
3776
  "return": {
3816
3777
  "type": {
3817
- "text": "Tester"
3778
+ "text": ""
3779
+ }
3780
+ },
3781
+ "privacy": "public"
3782
+ },
3783
+ {
3784
+ "kind": "function",
3785
+ "name": "getAnyOfErrorMessage",
3786
+ "return": {
3787
+ "type": {
3788
+ "text": "string"
3818
3789
  }
3819
3790
  },
3820
3791
  "parameters": [
3821
3792
  {
3822
- "name": "optionName",
3793
+ "name": "errors",
3794
+ "type": {
3795
+ "text": "Array<any> | undefined"
3796
+ }
3797
+ },
3798
+ {
3799
+ "name": "schema",
3800
+ "type": {
3801
+ "text": "any"
3802
+ }
3803
+ },
3804
+ {
3805
+ "name": "controlPath",
3806
+ "type": {
3807
+ "text": "string | undefined"
3808
+ }
3809
+ },
3810
+ {
3811
+ "name": "uiCustomMsg",
3812
+ "optional": true,
3823
3813
  "type": {
3824
3814
  "text": "string"
3825
3815
  }
3826
3816
  }
3827
- ]
3817
+ ],
3818
+ "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.",
3819
+ "privacy": "public"
3828
3820
  }
3829
3821
  ],
3830
3822
  "exports": [
3831
3823
  {
3832
3824
  "kind": "js",
3833
- "name": "optionIs",
3825
+ "name": "mustMatch",
3834
3826
  "declaration": {
3835
- "name": "optionIs",
3836
- "module": "src/jsonforms/testers/optionIs.ts"
3827
+ "name": "mustMatch",
3828
+ "module": "src/utils/validation.ts"
3829
+ }
3830
+ },
3831
+ {
3832
+ "kind": "js",
3833
+ "name": "getAnyOfErrorMessage",
3834
+ "declaration": {
3835
+ "name": "getAnyOfErrorMessage",
3836
+ "module": "src/utils/validation.ts"
3837
3837
  }
3838
3838
  }
3839
3839
  ]