@besaitech/ng-design-system-mcp 0.0.11 → 0.0.13
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.
- package/data/docs.json +554 -7
- package/package.json +1 -1
package/data/docs.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"libraryVersion": "0.0.
|
|
3
|
+
"libraryVersion": "0.0.44",
|
|
4
4
|
"packageName": "@besaitech/ng-design-system",
|
|
5
5
|
"devImport": "saitech-design-system",
|
|
6
|
-
"generatedAt": "2026-09-
|
|
7
|
-
"componentCount":
|
|
6
|
+
"generatedAt": "2026-09-20T21:22:32.121Z",
|
|
7
|
+
"componentCount": 34,
|
|
8
8
|
"components": [
|
|
9
9
|
{
|
|
10
10
|
"className": "SdsAccordion",
|
|
@@ -1576,6 +1576,405 @@
|
|
|
1576
1576
|
}
|
|
1577
1577
|
]
|
|
1578
1578
|
},
|
|
1579
|
+
{
|
|
1580
|
+
"className": "SdsInputNumber",
|
|
1581
|
+
"selector": "sds-input-number",
|
|
1582
|
+
"kind": "component",
|
|
1583
|
+
"group": "form",
|
|
1584
|
+
"importName": "SdsInputNumber",
|
|
1585
|
+
"description": "Champ numérique avec formatage localisé, devise, préfixe/suffixe, bornes min/max/pas et boutons d'incrément. La valeur est un number | null via ControlValueAccessor. Le formatage est appliqué en direct pendant la saisie : symbole monétaire, séparateurs de milliers et affixes restent visibles, et le curseur est préservé.",
|
|
1586
|
+
"overviewDescription": "Saisie numérique : devise, préfixe/suffixe, bornes et incrémenteur.",
|
|
1587
|
+
"jsdoc": "Numeric input with locale-aware formatting, optional currency, prefix/suffix affixes, min/max/step\nboundaries and spinner buttons — the design-system counterpart of PrimeNG's `InputNumber`.\n\nThe value is a `number | null` bound through ControlValueAccessor, so it works with reactive forms\nor `[(ngModel)]`: `<sds-input-number [(ngModel)]=\"amount\" mode=\"currency\" currency=\"EUR\" />`.\n\nThe field formats **live as you type**: the currency symbol, grouping separators and prefix/suffix\nstay visible on every keystroke, and the caret is kept where it belongs. The value is clamped to\n{@link min}/{@link max} on blur and on every spinner step; ArrowUp / ArrowDown also step it.",
|
|
1588
|
+
"example": null,
|
|
1589
|
+
"cva": true,
|
|
1590
|
+
"usesNgModel": true,
|
|
1591
|
+
"inputs": [
|
|
1592
|
+
{
|
|
1593
|
+
"name": "label",
|
|
1594
|
+
"type": "string",
|
|
1595
|
+
"default": "''",
|
|
1596
|
+
"required": false,
|
|
1597
|
+
"transform": null,
|
|
1598
|
+
"alias": null,
|
|
1599
|
+
"jsdoc": null
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
"name": "ariaLabel",
|
|
1603
|
+
"type": "string",
|
|
1604
|
+
"default": "''",
|
|
1605
|
+
"required": false,
|
|
1606
|
+
"transform": null,
|
|
1607
|
+
"alias": null,
|
|
1608
|
+
"jsdoc": "Accessible name used when no visible [label] is provided."
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
"name": "placeholder",
|
|
1612
|
+
"type": "string",
|
|
1613
|
+
"default": "''",
|
|
1614
|
+
"required": false,
|
|
1615
|
+
"transform": null,
|
|
1616
|
+
"alias": null,
|
|
1617
|
+
"jsdoc": null
|
|
1618
|
+
},
|
|
1619
|
+
{
|
|
1620
|
+
"name": "hint",
|
|
1621
|
+
"type": "string",
|
|
1622
|
+
"default": "''",
|
|
1623
|
+
"required": false,
|
|
1624
|
+
"transform": null,
|
|
1625
|
+
"alias": null,
|
|
1626
|
+
"jsdoc": null
|
|
1627
|
+
},
|
|
1628
|
+
{
|
|
1629
|
+
"name": "error",
|
|
1630
|
+
"type": "string",
|
|
1631
|
+
"default": "''",
|
|
1632
|
+
"required": false,
|
|
1633
|
+
"transform": null,
|
|
1634
|
+
"alias": null,
|
|
1635
|
+
"jsdoc": null
|
|
1636
|
+
},
|
|
1637
|
+
{
|
|
1638
|
+
"name": "size",
|
|
1639
|
+
"type": "SdsInputNumberSize",
|
|
1640
|
+
"default": "'md'",
|
|
1641
|
+
"required": false,
|
|
1642
|
+
"transform": null,
|
|
1643
|
+
"alias": null,
|
|
1644
|
+
"jsdoc": null
|
|
1645
|
+
},
|
|
1646
|
+
{
|
|
1647
|
+
"name": "appearance",
|
|
1648
|
+
"type": "SdsInputNumberAppearance",
|
|
1649
|
+
"default": "'default'",
|
|
1650
|
+
"required": false,
|
|
1651
|
+
"transform": null,
|
|
1652
|
+
"alias": null,
|
|
1653
|
+
"jsdoc": "`filled` is a borderless field on a muted ground; `default` is the bordered white field."
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
"name": "disabled",
|
|
1657
|
+
"type": "boolean",
|
|
1658
|
+
"default": "false",
|
|
1659
|
+
"required": false,
|
|
1660
|
+
"transform": "booleanAttribute",
|
|
1661
|
+
"alias": null,
|
|
1662
|
+
"jsdoc": null
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
"name": "readonly",
|
|
1666
|
+
"type": "boolean",
|
|
1667
|
+
"default": "false",
|
|
1668
|
+
"required": false,
|
|
1669
|
+
"transform": "booleanAttribute",
|
|
1670
|
+
"alias": null,
|
|
1671
|
+
"jsdoc": "Read-only: the value is shown and selectable but cannot be typed or stepped."
|
|
1672
|
+
},
|
|
1673
|
+
{
|
|
1674
|
+
"name": "mode",
|
|
1675
|
+
"type": "SdsInputNumberMode",
|
|
1676
|
+
"default": "'decimal'",
|
|
1677
|
+
"required": false,
|
|
1678
|
+
"transform": null,
|
|
1679
|
+
"alias": null,
|
|
1680
|
+
"jsdoc": null
|
|
1681
|
+
},
|
|
1682
|
+
{
|
|
1683
|
+
"name": "locale",
|
|
1684
|
+
"type": "string",
|
|
1685
|
+
"default": "''",
|
|
1686
|
+
"required": false,
|
|
1687
|
+
"transform": null,
|
|
1688
|
+
"alias": null,
|
|
1689
|
+
"jsdoc": "BCP 47 locale for grouping/decimal symbols (e.g. `fr-FR`). Empty follows the runtime locale."
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"name": "currency",
|
|
1693
|
+
"type": "string",
|
|
1694
|
+
"default": "''",
|
|
1695
|
+
"required": false,
|
|
1696
|
+
"transform": null,
|
|
1697
|
+
"alias": null,
|
|
1698
|
+
"jsdoc": "ISO 4217 code, required when {@link mode} is `currency` (e.g. `EUR`, `USD`)."
|
|
1699
|
+
},
|
|
1700
|
+
{
|
|
1701
|
+
"name": "currencyDisplay",
|
|
1702
|
+
"type": "SdsInputNumberCurrencyDisplay",
|
|
1703
|
+
"default": "'symbol'",
|
|
1704
|
+
"required": false,
|
|
1705
|
+
"transform": null,
|
|
1706
|
+
"alias": null,
|
|
1707
|
+
"jsdoc": null
|
|
1708
|
+
},
|
|
1709
|
+
{
|
|
1710
|
+
"name": "useGrouping",
|
|
1711
|
+
"type": "boolean",
|
|
1712
|
+
"default": "true",
|
|
1713
|
+
"required": false,
|
|
1714
|
+
"transform": "booleanAttribute",
|
|
1715
|
+
"alias": null,
|
|
1716
|
+
"jsdoc": "Thousands/grouping separators."
|
|
1717
|
+
},
|
|
1718
|
+
{
|
|
1719
|
+
"name": "minFractionDigits",
|
|
1720
|
+
"type": "number | null",
|
|
1721
|
+
"default": "null",
|
|
1722
|
+
"required": false,
|
|
1723
|
+
"transform": null,
|
|
1724
|
+
"alias": null,
|
|
1725
|
+
"jsdoc": null
|
|
1726
|
+
},
|
|
1727
|
+
{
|
|
1728
|
+
"name": "maxFractionDigits",
|
|
1729
|
+
"type": "number | null",
|
|
1730
|
+
"default": "null",
|
|
1731
|
+
"required": false,
|
|
1732
|
+
"transform": null,
|
|
1733
|
+
"alias": null,
|
|
1734
|
+
"jsdoc": null
|
|
1735
|
+
},
|
|
1736
|
+
{
|
|
1737
|
+
"name": "prefix",
|
|
1738
|
+
"type": "string",
|
|
1739
|
+
"default": "''",
|
|
1740
|
+
"required": false,
|
|
1741
|
+
"transform": null,
|
|
1742
|
+
"alias": null,
|
|
1743
|
+
"jsdoc": "Text shown before the value (e.g. `↑ `)."
|
|
1744
|
+
},
|
|
1745
|
+
{
|
|
1746
|
+
"name": "suffix",
|
|
1747
|
+
"type": "string",
|
|
1748
|
+
"default": "''",
|
|
1749
|
+
"required": false,
|
|
1750
|
+
"transform": null,
|
|
1751
|
+
"alias": null,
|
|
1752
|
+
"jsdoc": "Text shown after the value (e.g. ` kg`, `%`)."
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"name": "min",
|
|
1756
|
+
"type": "number | null",
|
|
1757
|
+
"default": "null",
|
|
1758
|
+
"required": false,
|
|
1759
|
+
"transform": null,
|
|
1760
|
+
"alias": null,
|
|
1761
|
+
"jsdoc": null
|
|
1762
|
+
},
|
|
1763
|
+
{
|
|
1764
|
+
"name": "max",
|
|
1765
|
+
"type": "number | null",
|
|
1766
|
+
"default": "null",
|
|
1767
|
+
"required": false,
|
|
1768
|
+
"transform": null,
|
|
1769
|
+
"alias": null,
|
|
1770
|
+
"jsdoc": null
|
|
1771
|
+
},
|
|
1772
|
+
{
|
|
1773
|
+
"name": "step",
|
|
1774
|
+
"type": "number",
|
|
1775
|
+
"default": "1",
|
|
1776
|
+
"required": false,
|
|
1777
|
+
"transform": "numberAttribute",
|
|
1778
|
+
"alias": null,
|
|
1779
|
+
"jsdoc": null
|
|
1780
|
+
},
|
|
1781
|
+
{
|
|
1782
|
+
"name": "showButtons",
|
|
1783
|
+
"type": "boolean",
|
|
1784
|
+
"default": "false",
|
|
1785
|
+
"required": false,
|
|
1786
|
+
"transform": "booleanAttribute",
|
|
1787
|
+
"alias": null,
|
|
1788
|
+
"jsdoc": "Show the increment/decrement spinner buttons."
|
|
1789
|
+
},
|
|
1790
|
+
{
|
|
1791
|
+
"name": "buttonLayout",
|
|
1792
|
+
"type": "SdsInputNumberButtonLayout",
|
|
1793
|
+
"default": "'stacked'",
|
|
1794
|
+
"required": false,
|
|
1795
|
+
"transform": null,
|
|
1796
|
+
"alias": null,
|
|
1797
|
+
"jsdoc": null
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
"name": "incrementIcon",
|
|
1801
|
+
"type": "SdsIconName | null",
|
|
1802
|
+
"default": "null",
|
|
1803
|
+
"required": false,
|
|
1804
|
+
"transform": null,
|
|
1805
|
+
"alias": null,
|
|
1806
|
+
"jsdoc": "Override the increment button icon (defaults: chevron-up when stacked, plus otherwise)."
|
|
1807
|
+
},
|
|
1808
|
+
{
|
|
1809
|
+
"name": "decrementIcon",
|
|
1810
|
+
"type": "SdsIconName | null",
|
|
1811
|
+
"default": "null",
|
|
1812
|
+
"required": false,
|
|
1813
|
+
"transform": null,
|
|
1814
|
+
"alias": null,
|
|
1815
|
+
"jsdoc": "Override the decrement button icon (defaults: chevron-down when stacked, minus otherwise)."
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
"name": "allowEmpty",
|
|
1819
|
+
"type": "boolean",
|
|
1820
|
+
"default": "true",
|
|
1821
|
+
"required": false,
|
|
1822
|
+
"transform": "booleanAttribute",
|
|
1823
|
+
"alias": null,
|
|
1824
|
+
"jsdoc": "Allow an empty (null) value. When false, blurring an empty field falls back to {@link min} or 0."
|
|
1825
|
+
},
|
|
1826
|
+
{
|
|
1827
|
+
"name": "clearable",
|
|
1828
|
+
"type": "boolean",
|
|
1829
|
+
"default": "false",
|
|
1830
|
+
"required": false,
|
|
1831
|
+
"transform": "booleanAttribute",
|
|
1832
|
+
"alias": null,
|
|
1833
|
+
"jsdoc": null
|
|
1834
|
+
},
|
|
1835
|
+
{
|
|
1836
|
+
"name": "clearLabel",
|
|
1837
|
+
"type": "string",
|
|
1838
|
+
"default": "'Effacer'",
|
|
1839
|
+
"required": false,
|
|
1840
|
+
"transform": null,
|
|
1841
|
+
"alias": null,
|
|
1842
|
+
"jsdoc": "Accessible names for the icon-only controls. French defaults so existing consumers are unchanged;\ntranslate them in a multi-language app."
|
|
1843
|
+
},
|
|
1844
|
+
{
|
|
1845
|
+
"name": "incrementLabel",
|
|
1846
|
+
"type": "string",
|
|
1847
|
+
"default": "'Augmenter'",
|
|
1848
|
+
"required": false,
|
|
1849
|
+
"transform": null,
|
|
1850
|
+
"alias": null,
|
|
1851
|
+
"jsdoc": null
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
"name": "decrementLabel",
|
|
1855
|
+
"type": "string",
|
|
1856
|
+
"default": "'Diminuer'",
|
|
1857
|
+
"required": false,
|
|
1858
|
+
"transform": null,
|
|
1859
|
+
"alias": null,
|
|
1860
|
+
"jsdoc": null
|
|
1861
|
+
}
|
|
1862
|
+
],
|
|
1863
|
+
"outputs": [],
|
|
1864
|
+
"exportedTypes": [
|
|
1865
|
+
{
|
|
1866
|
+
"name": "SdsInputNumberSize",
|
|
1867
|
+
"kind": "union",
|
|
1868
|
+
"body": "'sm' | 'md' | 'lg'"
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"name": "SdsInputNumberAppearance",
|
|
1872
|
+
"kind": "union",
|
|
1873
|
+
"body": "'default' | 'filled'"
|
|
1874
|
+
},
|
|
1875
|
+
{
|
|
1876
|
+
"name": "SdsInputNumberMode",
|
|
1877
|
+
"kind": "union",
|
|
1878
|
+
"body": "'decimal' | 'currency'"
|
|
1879
|
+
},
|
|
1880
|
+
{
|
|
1881
|
+
"name": "SdsInputNumberCurrencyDisplay",
|
|
1882
|
+
"kind": "union",
|
|
1883
|
+
"body": "'symbol' | 'code' | 'name'"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"name": "SdsInputNumberButtonLayout",
|
|
1887
|
+
"kind": "union",
|
|
1888
|
+
"body": "'stacked' | 'horizontal' | 'vertical'"
|
|
1889
|
+
}
|
|
1890
|
+
],
|
|
1891
|
+
"projectionSlots": [],
|
|
1892
|
+
"hostBindings": {
|
|
1893
|
+
"class": "block"
|
|
1894
|
+
},
|
|
1895
|
+
"examples": [
|
|
1896
|
+
{
|
|
1897
|
+
"sectionTitle": "Basique",
|
|
1898
|
+
"sectionDescription": "Regroupement des milliers selon la locale ; la valeur émise reste un nombre simple.",
|
|
1899
|
+
"code": "<sds-input-number label=\"Lits disponibles\" [(ngModel)]=\"beds\" />\n\n// beds = 42723; → affiché « 42 723 »",
|
|
1900
|
+
"runnableExample": "<sds-input-number label=\"Lits disponibles\" [(ngModel)]=\"beds\" />",
|
|
1901
|
+
"stack": true,
|
|
1902
|
+
"dark": false
|
|
1903
|
+
},
|
|
1904
|
+
{
|
|
1905
|
+
"sectionTitle": "Devise",
|
|
1906
|
+
"sectionDescription": "mode='currency' avec un code ISO 4217 ; currencyDisplay choisit le symbole, le code ou le nom.",
|
|
1907
|
+
"code": "<sds-input-number\n label=\"Budget mensuel\"\n mode=\"currency\"\n currency=\"EUR\"\n locale=\"fr-FR\"\n [(ngModel)]=\"budget\"\n/>\n<sds-input-number\n label=\"Facturation (US)\"\n mode=\"currency\"\n currency=\"USD\"\n currencyDisplay=\"code\"\n locale=\"en-US\"\n [(ngModel)]=\"invoice\"\n/>",
|
|
1908
|
+
"runnableExample": "<sds-input-number\n label=\"Budget mensuel\"\n mode=\"currency\"\n currency=\"EUR\"\n locale=\"fr-FR\"\n [(ngModel)]=\"budget\"\n />\n <sds-input-number\n label=\"Facturation (US)\"\n mode=\"currency\"\n currency=\"USD\"\n currencyDisplay=\"code\"\n locale=\"en-US\"\n [(ngModel)]=\"invoice\"\n />",
|
|
1909
|
+
"stack": true,
|
|
1910
|
+
"dark": false
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
"sectionTitle": "Préfixe & suffixe",
|
|
1914
|
+
"sectionDescription": "Des affixes texte pour les pourcentages, unités ou libellés — sur un nombre simple.",
|
|
1915
|
+
"code": "<sds-input-number label=\"Taux d'occupation\" suffix=\" %\" [min]=\"0\" [max]=\"100\" [(ngModel)]=\"occupancy\" />\n<sds-input-number label=\"Poids du patient\" suffix=\" kg\" [minFractionDigits]=\"1\" [(ngModel)]=\"weight\" />\n<sds-input-number label=\"Température\" prefix=\"↑ \" suffix=\" ℃\" [(ngModel)]=\"temperature\" />",
|
|
1916
|
+
"runnableExample": "<sds-input-number label=\"Taux d'occupation\" suffix=\" %\" [min]=\"0\" [max]=\"100\" [(ngModel)]=\"occupancy\" />\n <sds-input-number label=\"Poids du patient\" suffix=\" kg\" [minFractionDigits]=\"1\" [(ngModel)]=\"weight\" />\n <sds-input-number label=\"Température\" prefix=\"↑ \" suffix=\" ℃\" [(ngModel)]=\"temperature\" />",
|
|
1917
|
+
"stack": true,
|
|
1918
|
+
"dark": false
|
|
1919
|
+
},
|
|
1920
|
+
{
|
|
1921
|
+
"sectionTitle": "Bornes & pas",
|
|
1922
|
+
"sectionDescription": "min, max et step encadrent la valeur ; le dépassement est corrigé à la validation et à chaque incrément.",
|
|
1923
|
+
"code": "<sds-input-number\n label=\"Dose (0–10, pas 0,5)\"\n [min]=\"0\"\n [max]=\"10\"\n [step]=\"0.5\"\n showButtons\n [(ngModel)]=\"dose\"\n/>",
|
|
1924
|
+
"runnableExample": "<sds-input-number\n label=\"Dose (0–10, pas 0,5)\"\n [min]=\"0\"\n [max]=\"10\"\n [step]=\"0.5\"\n showButtons\n [(ngModel)]=\"dose\"\n />",
|
|
1925
|
+
"stack": true,
|
|
1926
|
+
"dark": false
|
|
1927
|
+
},
|
|
1928
|
+
{
|
|
1929
|
+
"sectionTitle": "Boutons",
|
|
1930
|
+
"sectionDescription": "showButtons ajoute un incrémenteur ; buttonLayout le dispose en pile, à l'horizontale ou à la verticale.",
|
|
1931
|
+
"code": "<sds-input-number label=\"Empilé\" showButtons [(ngModel)]=\"qty\" />\n<sds-input-number label=\"Horizontal\" showButtons buttonLayout=\"horizontal\" [(ngModel)]=\"qty\" />\n<sds-input-number label=\"Vertical\" showButtons buttonLayout=\"vertical\" [(ngModel)]=\"qty\" />",
|
|
1932
|
+
"runnableExample": "<sds-input-number label=\"Empilé\" showButtons [(ngModel)]=\"qtyStacked\" />\n <sds-input-number label=\"Horizontal\" showButtons buttonLayout=\"horizontal\" [(ngModel)]=\"qtyHorizontal\" />\n <sds-input-number label=\"Vertical\" showButtons buttonLayout=\"vertical\" [(ngModel)]=\"qtyVertical\" />",
|
|
1933
|
+
"stack": false,
|
|
1934
|
+
"dark": false
|
|
1935
|
+
},
|
|
1936
|
+
{
|
|
1937
|
+
"sectionTitle": "Décimales & groupement",
|
|
1938
|
+
"sectionDescription": "minFractionDigits / maxFractionDigits contrôlent la précision ; useGrouping='false' retire les séparateurs.",
|
|
1939
|
+
"code": "<sds-input-number\n label=\"Résultat de laboratoire\"\n [minFractionDigits]=\"2\"\n [maxFractionDigits]=\"4\"\n [(ngModel)]=\"labResult\"\n/>\n<sds-input-number label=\"Référence dossier\" [useGrouping]=\"false\" [(ngModel)]=\"reference\" />",
|
|
1940
|
+
"runnableExample": "<sds-input-number\n label=\"Résultat de laboratoire\"\n [minFractionDigits]=\"2\"\n [maxFractionDigits]=\"4\"\n [(ngModel)]=\"labResult\"\n />\n <sds-input-number label=\"Référence dossier\" [useGrouping]=\"false\" [(ngModel)]=\"reference\" />",
|
|
1941
|
+
"stack": true,
|
|
1942
|
+
"dark": false
|
|
1943
|
+
},
|
|
1944
|
+
{
|
|
1945
|
+
"sectionTitle": "Effaçable",
|
|
1946
|
+
"sectionDescription": "clearable affiche un bouton d'effacement quand une valeur est saisie.",
|
|
1947
|
+
"code": "<sds-input-number\n label=\"Plafond de dépense\"\n mode=\"currency\"\n currency=\"EUR\"\n locale=\"fr-FR\"\n clearable\n [(ngModel)]=\"cap\"\n/>",
|
|
1948
|
+
"runnableExample": "<sds-input-number label=\"Plafond de dépense\" mode=\"currency\" currency=\"EUR\" locale=\"fr-FR\" clearable [(ngModel)]=\"cap\" />",
|
|
1949
|
+
"stack": true,
|
|
1950
|
+
"dark": false
|
|
1951
|
+
},
|
|
1952
|
+
{
|
|
1953
|
+
"sectionTitle": "Tailles",
|
|
1954
|
+
"sectionDescription": null,
|
|
1955
|
+
"code": "<sds-input-number size=\"sm\" label=\"Petit (sm)\" [(ngModel)]=\"value\" />\n<sds-input-number size=\"md\" label=\"Moyen (md)\" [(ngModel)]=\"value\" />\n<sds-input-number size=\"lg\" label=\"Grand (lg)\" [(ngModel)]=\"value\" />",
|
|
1956
|
+
"runnableExample": "<sds-input-number size=\"sm\" label=\"Petit (sm)\" [(ngModel)]=\"sizeSm\" />\n <sds-input-number size=\"md\" label=\"Moyen (md)\" [(ngModel)]=\"sizeMd\" />\n <sds-input-number size=\"lg\" label=\"Grand (lg)\" [(ngModel)]=\"sizeLg\" />",
|
|
1957
|
+
"stack": true,
|
|
1958
|
+
"dark": false
|
|
1959
|
+
},
|
|
1960
|
+
{
|
|
1961
|
+
"sectionTitle": "Rempli & erreur",
|
|
1962
|
+
"sectionDescription": null,
|
|
1963
|
+
"code": "<sds-input-number appearance=\"filled\" label=\"Rempli\" [(ngModel)]=\"value\" />\n<sds-input-number label=\"Nombre requis\" [error]=\"'Veuillez saisir un nombre.'\" [(ngModel)]=\"value\" />",
|
|
1964
|
+
"runnableExample": "<sds-input-number appearance=\"filled\" label=\"Rempli\" [(ngModel)]=\"filled\" />\n <sds-input-number label=\"Nombre requis\" [error]=\"'Veuillez saisir un nombre.'\" [(ngModel)]=\"required\" />",
|
|
1965
|
+
"stack": true,
|
|
1966
|
+
"dark": false
|
|
1967
|
+
},
|
|
1968
|
+
{
|
|
1969
|
+
"sectionTitle": "Désactivé",
|
|
1970
|
+
"sectionDescription": null,
|
|
1971
|
+
"code": "<sds-input-number label=\"Capacité verrouillée\" [ngModel]=\"120\" disabled />",
|
|
1972
|
+
"runnableExample": "<sds-input-number label=\"Capacité verrouillée\" [ngModel]=\"120\" disabled />",
|
|
1973
|
+
"stack": true,
|
|
1974
|
+
"dark": false
|
|
1975
|
+
}
|
|
1976
|
+
]
|
|
1977
|
+
},
|
|
1579
1978
|
{
|
|
1580
1979
|
"className": "SdsLocalizedInput",
|
|
1581
1980
|
"selector": "sds-localized-input",
|
|
@@ -1757,8 +2156,8 @@
|
|
|
1757
2156
|
"importName": "SdsMultiSelect",
|
|
1758
2157
|
"description": "Liste déroulante à sélection multiple (la valeur est un tableau). Cases à cocher par option, « Tout sélectionner », affichage en puces ou en texte, filtre, effacement et navigation clavier. Overlay attaché au <body>. Implémente ControlValueAccessor.",
|
|
1759
2158
|
"overviewDescription": "Sélection multiple : puces, « tout sélectionner » et filtre.",
|
|
1760
|
-
"jsdoc": "Multi-select dropdown (value is an array). Options may be primitives or\nobjects (configure via [optionLabel]/[optionValue]/[optionDisabled]). The\noverlay is appended to <body>. Supports a \"select all\" toggle, per-option\ncheckboxes, chip or comma display, filtering, clearing and keyboard nav.\nImplements ControlValueAccessor — use with reactive forms or [(ngModel)].\n\nFor object options, set [optionValue] or [dataKey] so written values match by\nkey; otherwise matching falls back to reference equality.",
|
|
1761
|
-
"example": "<sds-multi-select [options]=\"
|
|
2159
|
+
"jsdoc": "Multi-select dropdown (value is an array). Options may be primitives or\nobjects (configure via [optionLabel]/[optionValue]/[optionDisabled]). The\noverlay is appended to <body>. Supports a \"select all\" toggle, per-option\ncheckboxes, chip or comma display, filtering, clearing and keyboard nav.\nImplements ControlValueAccessor — use with reactive forms or [(ngModel)].\n\nFor object options, set [optionValue] or [dataKey] so written values match by\nkey; otherwise matching falls back to reference equality.\n\nProject template directives to customise the panel:\n- `<ng-template sdsSelectOption let-option>` — the content of each option row, after its\n checkbox (see {@link SdsSelectOption}); context: the raw `option` (implicit), plus `label`,\n `value`, `selected`, `disabled`, `index`.\n- `<ng-template sdsSelectEmpty let-query>` — replaces the \"no results\" message (see {@link SdsSelectEmpty}).\n- `<ng-template sdsSelectFooter let-close=\"close\">` — a sticky footer action (see {@link SdsSelectFooter});\n `close()` dismisses the panel.",
|
|
2160
|
+
"example": "<sds-multi-select [options]=\"tags\" optionLabel=\"name\" optionValue=\"id\" [(ngModel)]=\"tagIds\">\n <ng-template sdsSelectOption let-option>\n <span class=\"dot\" [style.background]=\"option.color\"></span> {{ option.name }}\n </ng-template>\n</sds-multi-select>",
|
|
1762
2161
|
"cva": true,
|
|
1763
2162
|
"usesNgModel": true,
|
|
1764
2163
|
"inputs": [
|
|
@@ -1994,6 +2393,22 @@
|
|
|
1994
2393
|
"stack": true,
|
|
1995
2394
|
"dark": false
|
|
1996
2395
|
},
|
|
2396
|
+
{
|
|
2397
|
+
"sectionTitle": "Gabarit d'option (sdsSelectOption)",
|
|
2398
|
+
"sectionDescription": "Projetez un <ng-template sdsSelectOption> pour rendre chaque ligne d'option après sa case à cocher. Le contexte expose l'option brute (implicite), plus label, value, selected, disabled et index.",
|
|
2399
|
+
"code": "<sds-multi-select\n [options]=\"services\"\n optionLabel=\"name\"\n optionValue=\"code\"\n display=\"chip\"\n filter\n [(ngModel)]=\"codes\"\n placeholder=\"Choisir des services\"\n>\n <!-- Rendered after each option's checkbox. let-option is the raw option. -->\n <ng-template sdsSelectOption let-option>\n <span class=\"h-2.5 w-2.5 shrink-0 rounded-full\" [style.background]=\"option.color\"></span>\n <span class=\"truncate\">{{ option.name }}</span>\n </ng-template>\n</sds-multi-select>\n\n// services = [{ name: 'Cardiologie', code: 'CARD', color: '#ef4444' }, …];",
|
|
2400
|
+
"runnableExample": "<sds-multi-select\n [options]=\"coloredServices\"\n optionLabel=\"name\"\n optionValue=\"code\"\n display=\"chip\"\n filter\n [(ngModel)]=\"codes\"\n placeholder=\"Choisir des services\"\n >\n <ng-template sdsSelectOption let-option>\n <span class=\"h-2.5 w-2.5 shrink-0 rounded-full\" [style.background]=\"option.color\"></span>\n <span class=\"truncate\">{{ option.name }}</span>\n </ng-template>\n </sds-multi-select>",
|
|
2401
|
+
"stack": true,
|
|
2402
|
+
"dark": false
|
|
2403
|
+
},
|
|
2404
|
+
{
|
|
2405
|
+
"sectionTitle": "Gabarits vide et pied de liste (sdsSelectEmpty / sdsSelectFooter)",
|
|
2406
|
+
"sectionDescription": "Personnalisez l'état « aucun résultat » et ajoutez une action collante ; le pied reçoit close() pour refermer le panneau.",
|
|
2407
|
+
"code": "<sds-multi-select [options]=\"services\" optionLabel=\"name\" optionValue=\"code\" filter>\n <ng-template sdsSelectEmpty let-query>\n Aucun service pour « {{ query }} ».\n </ng-template>\n <ng-template sdsSelectFooter let-close=\"close\">\n <button type=\"button\" class=\"w-full px-3 py-2 text-brand-700\" (click)=\"addService(); close()\">\n + Nouveau service\n </button>\n </ng-template>\n</sds-multi-select>",
|
|
2408
|
+
"runnableExample": "<sds-multi-select\n [options]=\"services\"\n optionLabel=\"name\"\n optionValue=\"code\"\n filter\n placeholder=\"Choisir des services\"\n >\n <ng-template sdsSelectEmpty let-query>\n <span class=\"text-ink-faint\">Aucun service pour « {{ query }} ».</span>\n </ng-template>\n <ng-template sdsSelectFooter let-close=\"close\">\n <button\n type=\"button\"\n class=\"flex w-full items-center gap-2 px-3 py-2 text-sm font-medium text-brand-700 hover:bg-brand-50\"\n (click)=\"close()\"\n >\n + Nouveau service\n </button>\n </ng-template>\n </sds-multi-select>",
|
|
2409
|
+
"stack": true,
|
|
2410
|
+
"dark": false
|
|
2411
|
+
},
|
|
1997
2412
|
{
|
|
1998
2413
|
"sectionTitle": "Étiquette de comptage",
|
|
1999
2414
|
"sectionDescription": "Au-delà de [maxSelectedLabels], un libellé de comptage remplace la liste.",
|
|
@@ -2903,8 +3318,8 @@
|
|
|
2903
3318
|
"importName": "SdsSelect",
|
|
2904
3319
|
"description": "Liste déroulante à sélection unique. Options primitives ou objets (via optionLabel / optionValue / optionDisabled). Overlay attaché au <body>, filtre, effacement et navigation clavier complète. Implémente ControlValueAccessor.",
|
|
2905
3320
|
"overviewDescription": "Liste déroulante avec filtre, effacement et navigation clavier.",
|
|
2906
|
-
"jsdoc": "Single-select dropdown. Options may be primitives or objects (configure via\n[optionLabel]/[optionValue]/[optionDisabled]). The overlay is appended to\n<body>. Supports filtering, clearing, and full keyboard navigation.\nImplements ControlValueAccessor — use with reactive forms or [(ngModel)].\n\nFor object options, set [optionValue] or [dataKey] so written values match by\nkey; otherwise selection matching falls back to reference equality (a written\ncopy of an option will not match).",
|
|
2907
|
-
"example": "<sds-select [options]=\"
|
|
3321
|
+
"jsdoc": "Single-select dropdown. Options may be primitives or objects (configure via\n[optionLabel]/[optionValue]/[optionDisabled]). The overlay is appended to\n<body>. Supports filtering, clearing, and full keyboard navigation.\nImplements ControlValueAccessor — use with reactive forms or [(ngModel)].\n\nFor object options, set [optionValue] or [dataKey] so written values match by\nkey; otherwise selection matching falls back to reference equality (a written\ncopy of an option will not match).\n\nOptions render as plain text by default. To render richer options (an icon,\nan avatar, a two-line row…) project template directives — the same content\nalso renders in the trigger for the selected value:\n- `<ng-template sdsSelectOption let-option>` — one option row (see {@link SdsSelectOption});\n context: the raw `option` (implicit), plus `label`, `value`, `selected`, `disabled`, `index`.\n- `<ng-template sdsSelectEmpty let-query>` — replaces the \"no results\" message (see {@link SdsSelectEmpty}).\n- `<ng-template sdsSelectFooter let-close=\"close\">` — a sticky footer action, e.g. \"+ New…\"\n (see {@link SdsSelectFooter}); `close()` dismisses the panel.",
|
|
3322
|
+
"example": "<sds-select [options]=\"categories\" optionLabel=\"name\" optionValue=\"id\" [(ngModel)]=\"categoryId\">\n <ng-template sdsSelectOption let-option>\n <span class=\"dot\" [style.background]=\"option.color\"></span> {{ option.name }}\n </ng-template>\n</sds-select>",
|
|
2908
3323
|
"cva": true,
|
|
2909
3324
|
"usesNgModel": true,
|
|
2910
3325
|
"inputs": [
|
|
@@ -3105,6 +3520,30 @@
|
|
|
3105
3520
|
"stack": true,
|
|
3106
3521
|
"dark": false
|
|
3107
3522
|
},
|
|
3523
|
+
{
|
|
3524
|
+
"sectionTitle": "Gabarit d'option (sdsSelectOption)",
|
|
3525
|
+
"sectionDescription": "Projetez un <ng-template sdsSelectOption> pour rendre chaque option — et la valeur sélectionnée dans le champ — à votre guise. Le contexte expose l'option brute (implicite), plus label, value, selected, disabled et index.",
|
|
3526
|
+
"code": "<sds-select\n [options]=\"services\"\n optionLabel=\"name\"\n optionValue=\"code\"\n filter\n clearable\n [(ngModel)]=\"serviceCode\"\n placeholder=\"Choisir un service\"\n>\n <!-- Rendered for each option AND for the selected value in the field.\n let-option is the raw option; also: let-selected=\"selected\", let-label=\"label\", … -->\n <ng-template sdsSelectOption let-option>\n <span class=\"h-2.5 w-2.5 shrink-0 rounded-full\" [style.background]=\"option.color\"></span>\n <span class=\"truncate\">{{ option.name }}</span>\n </ng-template>\n</sds-select>\n\n// services = [{ name: 'Cardiologie', code: 'CARD', color: '#ef4444' }, …];",
|
|
3527
|
+
"runnableExample": "<sds-select\n [options]=\"coloredServices\"\n optionLabel=\"name\"\n optionValue=\"code\"\n filter\n clearable\n [(ngModel)]=\"serviceCode\"\n placeholder=\"Choisir un service\"\n >\n <ng-template sdsSelectOption let-option>\n <span class=\"h-2.5 w-2.5 shrink-0 rounded-full\" [style.background]=\"option.color\"></span>\n <span class=\"truncate\">{{ option.name }}</span>\n </ng-template>\n </sds-select>",
|
|
3528
|
+
"stack": true,
|
|
3529
|
+
"dark": false
|
|
3530
|
+
},
|
|
3531
|
+
{
|
|
3532
|
+
"sectionTitle": "Gabarit vide (sdsSelectEmpty)",
|
|
3533
|
+
"sectionDescription": "Remplace le message « aucun résultat » ; le contexte fournit la requête de filtre courante.",
|
|
3534
|
+
"code": "<sds-select [options]=\"services\" optionLabel=\"name\" optionValue=\"code\" filter>\n <ng-template sdsSelectEmpty let-query>\n Aucun service pour « {{ query }} ».\n </ng-template>\n</sds-select>",
|
|
3535
|
+
"runnableExample": "<sds-select\n [options]=\"services\"\n optionLabel=\"name\"\n optionValue=\"code\"\n filter\n placeholder=\"Choisir un service\"\n >\n <ng-template sdsSelectEmpty let-query>\n <span class=\"text-ink-faint\">Aucun service pour « {{ query }} ».</span>\n </ng-template>\n </sds-select>",
|
|
3536
|
+
"stack": true,
|
|
3537
|
+
"dark": false
|
|
3538
|
+
},
|
|
3539
|
+
{
|
|
3540
|
+
"sectionTitle": "Pied de liste (sdsSelectFooter)",
|
|
3541
|
+
"sectionDescription": "Ajoute une action collante sous la liste (ex. « Nouveau… ») ; le contexte fournit close() pour refermer le panneau.",
|
|
3542
|
+
"code": "<sds-select [options]=\"services\" optionLabel=\"name\" optionValue=\"code\" filter>\n <!-- close() dismisses the panel after the action. -->\n <ng-template sdsSelectFooter let-close=\"close\">\n <button type=\"button\" class=\"w-full px-3 py-2 text-brand-700\" (click)=\"addService(); close()\">\n + Nouveau service\n </button>\n </ng-template>\n</sds-select>",
|
|
3543
|
+
"runnableExample": "<sds-select\n [options]=\"services\"\n optionLabel=\"name\"\n optionValue=\"code\"\n filter\n placeholder=\"Choisir un service\"\n >\n <ng-template sdsSelectFooter let-close=\"close\">\n <button\n type=\"button\"\n class=\"flex w-full items-center gap-2 px-3 py-2 text-sm font-medium text-brand-700 hover:bg-brand-50\"\n (click)=\"close()\"\n >\n + Nouveau service\n </button>\n </ng-template>\n </sds-select>",
|
|
3544
|
+
"stack": true,
|
|
3545
|
+
"dark": false
|
|
3546
|
+
},
|
|
3108
3547
|
{
|
|
3109
3548
|
"sectionTitle": "Effaçable",
|
|
3110
3549
|
"sectionDescription": "Affiche un bouton d'effacement quand une valeur est sélectionnée.",
|
|
@@ -4521,6 +4960,111 @@
|
|
|
4521
4960
|
}
|
|
4522
4961
|
],
|
|
4523
4962
|
"directives": [
|
|
4963
|
+
{
|
|
4964
|
+
"className": "SdsSelectEmpty",
|
|
4965
|
+
"selector": "ng-template[sdsSelectEmpty]",
|
|
4966
|
+
"kind": "directive",
|
|
4967
|
+
"group": "form",
|
|
4968
|
+
"importName": "SdsSelectEmpty",
|
|
4969
|
+
"description": null,
|
|
4970
|
+
"overviewDescription": null,
|
|
4971
|
+
"jsdoc": "Supplies a custom template shown in place of the default \"no results\" message\nwhen a select has no (matching) options.",
|
|
4972
|
+
"example": "<ng-template sdsSelectEmpty let-q>No category matches \"{{ q }}\".</ng-template>",
|
|
4973
|
+
"cva": false,
|
|
4974
|
+
"usesNgModel": false,
|
|
4975
|
+
"inputs": [],
|
|
4976
|
+
"outputs": [],
|
|
4977
|
+
"exportedTypes": [
|
|
4978
|
+
{
|
|
4979
|
+
"name": "SdsSelectOptionContext",
|
|
4980
|
+
"kind": "interface",
|
|
4981
|
+
"body": "interface SdsSelectOptionContext { /** Same as {@link option} — enables the implicit `let-option` binding. Typed `any` so consumer templates * can read their own option fields (e.g. `option.color`) without casting. */ $implicit: any; /** The raw option object (or primitive) from the `options` array. */ option: any; /** The resolved display label (via optionLabel). */ label: string; /** The resolved option value (via optionValue). */ value: unknown; /** Whether this option is currently selected. */ selected: boolean; /** Whether this option is disabled. */ disabled: boolean; /** Zero-based inde"
|
|
4982
|
+
},
|
|
4983
|
+
{
|
|
4984
|
+
"name": "SdsSelectEmptyContext",
|
|
4985
|
+
"kind": "interface",
|
|
4986
|
+
"body": "interface SdsSelectEmptyContext { /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */ $implicit: string; /** The current filter query (empty when the field isn't filterable or is blank). */ filterText: string; }"
|
|
4987
|
+
},
|
|
4988
|
+
{
|
|
4989
|
+
"name": "SdsSelectFooterContext",
|
|
4990
|
+
"kind": "interface",
|
|
4991
|
+
"body": "interface SdsSelectFooterContext { /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */ $implicit: string; /** The current filter query. */ filterText: string; /** Closes the open panel — handy for a footer action (e.g. \"+ New…\"). */ close: () => void; }"
|
|
4992
|
+
}
|
|
4993
|
+
],
|
|
4994
|
+
"projectionSlots": [],
|
|
4995
|
+
"hostBindings": {},
|
|
4996
|
+
"examples": []
|
|
4997
|
+
},
|
|
4998
|
+
{
|
|
4999
|
+
"className": "SdsSelectFooter",
|
|
5000
|
+
"selector": "ng-template[sdsSelectFooter]",
|
|
5001
|
+
"kind": "directive",
|
|
5002
|
+
"group": "form",
|
|
5003
|
+
"importName": "SdsSelectFooter",
|
|
5004
|
+
"description": null,
|
|
5005
|
+
"overviewDescription": null,
|
|
5006
|
+
"jsdoc": "Supplies a custom sticky footer rendered below the option list — e.g. a\n\"+ Create new\" action. The `close` context callback dismisses the panel.",
|
|
5007
|
+
"example": "<ng-template sdsSelectFooter let-close=\"close\">\n <button (click)=\"createCategory(); close()\">+ New category</button>\n</ng-template>",
|
|
5008
|
+
"cva": false,
|
|
5009
|
+
"usesNgModel": false,
|
|
5010
|
+
"inputs": [],
|
|
5011
|
+
"outputs": [],
|
|
5012
|
+
"exportedTypes": [
|
|
5013
|
+
{
|
|
5014
|
+
"name": "SdsSelectOptionContext",
|
|
5015
|
+
"kind": "interface",
|
|
5016
|
+
"body": "interface SdsSelectOptionContext { /** Same as {@link option} — enables the implicit `let-option` binding. Typed `any` so consumer templates * can read their own option fields (e.g. `option.color`) without casting. */ $implicit: any; /** The raw option object (or primitive) from the `options` array. */ option: any; /** The resolved display label (via optionLabel). */ label: string; /** The resolved option value (via optionValue). */ value: unknown; /** Whether this option is currently selected. */ selected: boolean; /** Whether this option is disabled. */ disabled: boolean; /** Zero-based inde"
|
|
5017
|
+
},
|
|
5018
|
+
{
|
|
5019
|
+
"name": "SdsSelectEmptyContext",
|
|
5020
|
+
"kind": "interface",
|
|
5021
|
+
"body": "interface SdsSelectEmptyContext { /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */ $implicit: string; /** The current filter query (empty when the field isn't filterable or is blank). */ filterText: string; }"
|
|
5022
|
+
},
|
|
5023
|
+
{
|
|
5024
|
+
"name": "SdsSelectFooterContext",
|
|
5025
|
+
"kind": "interface",
|
|
5026
|
+
"body": "interface SdsSelectFooterContext { /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */ $implicit: string; /** The current filter query. */ filterText: string; /** Closes the open panel — handy for a footer action (e.g. \"+ New…\"). */ close: () => void; }"
|
|
5027
|
+
}
|
|
5028
|
+
],
|
|
5029
|
+
"projectionSlots": [],
|
|
5030
|
+
"hostBindings": {},
|
|
5031
|
+
"examples": []
|
|
5032
|
+
},
|
|
5033
|
+
{
|
|
5034
|
+
"className": "SdsSelectOption",
|
|
5035
|
+
"selector": "ng-template[sdsSelectOption]",
|
|
5036
|
+
"kind": "directive",
|
|
5037
|
+
"group": "form",
|
|
5038
|
+
"importName": "SdsSelectOption",
|
|
5039
|
+
"description": null,
|
|
5040
|
+
"overviewDescription": null,
|
|
5041
|
+
"jsdoc": "Supplies a custom template for each option row (and the selected value shown\nin the trigger) of an `<sds-select>` / `<sds-multi-select>`. Use as a\nstructural template projected into the select:",
|
|
5042
|
+
"example": "<sds-select [options]=\"categories\" optionLabel=\"name\" optionValue=\"id\" [(ngModel)]=\"catId\">\n <ng-template sdsSelectOption let-option let-selected=\"selected\">\n <span class=\"dot\" [style.background]=\"option.color\"></span>\n <span class=\"truncate\">{{ option.name }}</span>\n </ng-template>\n</sds-select>",
|
|
5043
|
+
"cva": false,
|
|
5044
|
+
"usesNgModel": false,
|
|
5045
|
+
"inputs": [],
|
|
5046
|
+
"outputs": [],
|
|
5047
|
+
"exportedTypes": [
|
|
5048
|
+
{
|
|
5049
|
+
"name": "SdsSelectOptionContext",
|
|
5050
|
+
"kind": "interface",
|
|
5051
|
+
"body": "interface SdsSelectOptionContext { /** Same as {@link option} — enables the implicit `let-option` binding. Typed `any` so consumer templates * can read their own option fields (e.g. `option.color`) without casting. */ $implicit: any; /** The raw option object (or primitive) from the `options` array. */ option: any; /** The resolved display label (via optionLabel). */ label: string; /** The resolved option value (via optionValue). */ value: unknown; /** Whether this option is currently selected. */ selected: boolean; /** Whether this option is disabled. */ disabled: boolean; /** Zero-based inde"
|
|
5052
|
+
},
|
|
5053
|
+
{
|
|
5054
|
+
"name": "SdsSelectEmptyContext",
|
|
5055
|
+
"kind": "interface",
|
|
5056
|
+
"body": "interface SdsSelectEmptyContext { /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */ $implicit: string; /** The current filter query (empty when the field isn't filterable or is blank). */ filterText: string; }"
|
|
5057
|
+
},
|
|
5058
|
+
{
|
|
5059
|
+
"name": "SdsSelectFooterContext",
|
|
5060
|
+
"kind": "interface",
|
|
5061
|
+
"body": "interface SdsSelectFooterContext { /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */ $implicit: string; /** The current filter query. */ filterText: string; /** Closes the open panel — handy for a footer action (e.g. \"+ New…\"). */ close: () => void; }"
|
|
5062
|
+
}
|
|
5063
|
+
],
|
|
5064
|
+
"projectionSlots": [],
|
|
5065
|
+
"hostBindings": {},
|
|
5066
|
+
"examples": []
|
|
5067
|
+
},
|
|
4524
5068
|
{
|
|
4525
5069
|
"className": "SdsTableCell",
|
|
4526
5070
|
"selector": "ng-template[sdsCell]",
|
|
@@ -4662,6 +5206,7 @@
|
|
|
4662
5206
|
"chevron-down",
|
|
4663
5207
|
"chevron-left",
|
|
4664
5208
|
"chevron-right",
|
|
5209
|
+
"chevron-up",
|
|
4665
5210
|
"chevrons-left",
|
|
4666
5211
|
"chevrons-right",
|
|
4667
5212
|
"chevrons-up-down",
|
|
@@ -4686,6 +5231,7 @@
|
|
|
4686
5231
|
"map-pin",
|
|
4687
5232
|
"megaphone",
|
|
4688
5233
|
"menu",
|
|
5234
|
+
"minus",
|
|
4689
5235
|
"monitor",
|
|
4690
5236
|
"package",
|
|
4691
5237
|
"package-open",
|
|
@@ -4697,6 +5243,7 @@
|
|
|
4697
5243
|
"panel-top",
|
|
4698
5244
|
"panels-top-left",
|
|
4699
5245
|
"phone",
|
|
5246
|
+
"plus",
|
|
4700
5247
|
"refresh-cw",
|
|
4701
5248
|
"rotate-ccw",
|
|
4702
5249
|
"rows-3",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@besaitech/ng-design-system-mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "MCP server that exposes the @besaitech/ng-design-system Angular component library documentation (API, examples, tokens, icons, setup) to AI coding tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|