@iress-oss/ids-mcp-server 0.0.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/LICENSE.txt +201 -0
  2. package/README.md +93 -0
  3. package/dist/componentHandlers.js +241 -0
  4. package/dist/componentHandlers.test.js +380 -0
  5. package/dist/config.js +16 -0
  6. package/dist/index.js +53 -0
  7. package/dist/iressHandlers.js +144 -0
  8. package/dist/iressHandlers.test.js +316 -0
  9. package/dist/resourceHandlers.js +67 -0
  10. package/dist/resourceHandlers.test.js +352 -0
  11. package/dist/searchHandlers.js +287 -0
  12. package/dist/searchHandlers.test.js +524 -0
  13. package/dist/toolHandler.js +31 -0
  14. package/dist/toolHandler.test.js +369 -0
  15. package/dist/tools.js +165 -0
  16. package/dist/types.js +4 -0
  17. package/dist/utils.js +59 -0
  18. package/dist/utils.test.js +286 -0
  19. package/generated/docs/components-alert-docs.md +130 -0
  20. package/generated/docs/components-autocomplete-docs.md +754 -0
  21. package/generated/docs/components-autocomplete-recipes-docs.md +104 -0
  22. package/generated/docs/components-badge-docs.md +148 -0
  23. package/generated/docs/components-button-docs.md +362 -0
  24. package/generated/docs/components-button-recipes-docs.md +76 -0
  25. package/generated/docs/components-buttongroup-docs.md +310 -0
  26. package/generated/docs/components-card-docs.md +494 -0
  27. package/generated/docs/components-card-recipes-docs.md +89 -0
  28. package/generated/docs/components-checkbox-docs.md +193 -0
  29. package/generated/docs/components-checkboxgroup-docs.md +692 -0
  30. package/generated/docs/components-checkboxgroup-recipes-docs.md +119 -0
  31. package/generated/docs/components-col-docs.md +466 -0
  32. package/generated/docs/components-combobox-docs.md +1016 -0
  33. package/generated/docs/components-container-docs.md +91 -0
  34. package/generated/docs/components-divider-docs.md +176 -0
  35. package/generated/docs/components-expander-docs.md +215 -0
  36. package/generated/docs/components-field-docs.md +675 -0
  37. package/generated/docs/components-filter-docs.md +1109 -0
  38. package/generated/docs/components-form-docs.md +2442 -0
  39. package/generated/docs/components-form-recipes-docs.md +892 -0
  40. package/generated/docs/components-hide-docs.md +265 -0
  41. package/generated/docs/components-icon-docs.md +553 -0
  42. package/generated/docs/components-inline-docs.md +868 -0
  43. package/generated/docs/components-input-docs.md +335 -0
  44. package/generated/docs/components-input-recipes-docs.md +140 -0
  45. package/generated/docs/components-inputcurrency-docs.md +157 -0
  46. package/generated/docs/components-inputcurrency-recipes-docs.md +116 -0
  47. package/generated/docs/components-label-docs.md +135 -0
  48. package/generated/docs/components-menu-docs.md +704 -0
  49. package/generated/docs/components-menu-menuitem-docs.md +193 -0
  50. package/generated/docs/components-modal-docs.md +587 -0
  51. package/generated/docs/components-navbar-docs.md +291 -0
  52. package/generated/docs/components-navbar-recipes-docs.md +413 -0
  53. package/generated/docs/components-panel-docs.md +380 -0
  54. package/generated/docs/components-placeholder-docs.md +27 -0
  55. package/generated/docs/components-popover-docs.md +464 -0
  56. package/generated/docs/components-popover-recipes-docs.md +245 -0
  57. package/generated/docs/components-progress-docs.md +104 -0
  58. package/generated/docs/components-radio-docs.md +107 -0
  59. package/generated/docs/components-radiogroup-docs.md +683 -0
  60. package/generated/docs/components-readonly-docs.md +89 -0
  61. package/generated/docs/components-richselect-docs.md +2433 -0
  62. package/generated/docs/components-row-docs.md +877 -0
  63. package/generated/docs/components-select-docs.md +456 -0
  64. package/generated/docs/components-skeleton-docs.md +214 -0
  65. package/generated/docs/components-skeleton-recipes-docs.md +76 -0
  66. package/generated/docs/components-skiplink-docs.md +66 -0
  67. package/generated/docs/components-slideout-docs.md +538 -0
  68. package/generated/docs/components-slider-docs.md +346 -0
  69. package/generated/docs/components-spinner-docs.md +59 -0
  70. package/generated/docs/components-stack-docs.md +265 -0
  71. package/generated/docs/components-table-ag-grid-docs.md +2666 -0
  72. package/generated/docs/components-table-docs.md +1305 -0
  73. package/generated/docs/components-tabset-docs.md +341 -0
  74. package/generated/docs/components-tabset-tab-docs.md +86 -0
  75. package/generated/docs/components-tag-docs.md +115 -0
  76. package/generated/docs/components-text-docs.md +394 -0
  77. package/generated/docs/components-toaster-docs.md +294 -0
  78. package/generated/docs/components-toaster-toast-docs.md +157 -0
  79. package/generated/docs/components-toggle-docs.md +158 -0
  80. package/generated/docs/components-tooltip-docs.md +311 -0
  81. package/generated/docs/components-validationmessage-docs.md +241 -0
  82. package/generated/docs/contact-us-docs.md +27 -0
  83. package/generated/docs/extensions-editor-docs.md +288 -0
  84. package/generated/docs/extensions-editor-recipes-docs.md +39 -0
  85. package/generated/docs/foundations-accessibility-docs.md +62 -0
  86. package/generated/docs/foundations-colours-docs.md +257 -0
  87. package/generated/docs/foundations-consistency-docs.md +52 -0
  88. package/generated/docs/foundations-content-docs.md +23 -0
  89. package/generated/docs/foundations-introduction-docs.md +17 -0
  90. package/generated/docs/foundations-principles-docs.md +70 -0
  91. package/generated/docs/foundations-typography-docs.md +191 -0
  92. package/generated/docs/foundations-user-experience-docs.md +63 -0
  93. package/generated/docs/foundations-visual-design-docs.md +46 -0
  94. package/generated/docs/frequently-asked-questions-docs.md +53 -0
  95. package/generated/docs/get-started-develop-docs.md +48 -0
  96. package/generated/docs/get-started-using-storybook-docs.md +68 -0
  97. package/generated/docs/guidelines.md +812 -0
  98. package/generated/docs/introduction-docs.md +43 -0
  99. package/generated/docs/patterns-loading-docs.md +1304 -0
  100. package/generated/docs/resources-changelog-docs.md +6 -0
  101. package/generated/docs/resources-code-katas-docs.md +29 -0
  102. package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +437 -0
  103. package/generated/docs/themes-available-themes-docs.md +66 -0
  104. package/generated/docs/themes-introduction-docs.md +121 -0
  105. package/generated/docs/themes-tokens-docs.md +1200 -0
  106. package/generated/docs/versions-docs.md +17 -0
  107. package/package.json +81 -0
@@ -0,0 +1,116 @@
1
+ [](#recipes)Recipes
2
+ ===================
3
+
4
+ [](#using-iressinputcurrency-in-table)Using IressInputCurrency in table
5
+ -----------------------------------------------------------------------
6
+
7
+ It is not recommended to use the `readOnly` prop for `IressInputCurrency` inside tables, as it was designed for forms. This example shows how to use currency in the table, by using the `format` prop of when defining a column inside `IressTable`. Additionally, when all rows have the same currency, it is recommended to add the currency code on the column `label` and remove the `currencyCode` on all rows.
8
+
9
+ My investments
10
+ | Investment Name | Investment Date | Total % | Investment Amount (AUD) |
11
+ | --- | --- | --- | --- |
12
+ | US Stocks | 23/09/2019 | 24.8% | 23,898.00 |
13
+ | US Bonds | 05/02/2019 | 26.2% | 26,382.46 |
14
+ | AU Stocks | 05/02/2019 | 26.2% | 9,342.16 |
15
+ | UK Stocks | 28/06/2020 | 49% | 49,751.40 |
16
+
17
+ Hide code
18
+
19
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
20
+
21
+ export const CurrencyInTable \= () \=> {
22
+ return (
23
+ <IressTable
24
+ caption\="My investments"
25
+ style\={{ '--iress-cell-vertical-align': 'middle' } as React.CSSProperties}
26
+ columns\={\[
27
+ {
28
+ key: 'investmentName',
29
+ label: 'Investment Name',
30
+ format: 'string',
31
+ width: '30%',
32
+ },
33
+ {
34
+ key: 'investmentDate',
35
+ label: 'Investment Date',
36
+ format: 'date',
37
+ width: '30%',
38
+ },
39
+ {
40
+ key: 'totalPercentage',
41
+ label: 'Total %',
42
+ format: 'percent',
43
+ width: '15%',
44
+ },
45
+ {
46
+ key: 'amount',
47
+ label: 'Investment Amount (AUD)',
48
+ format: 'currency',
49
+ currencyCode: '',
50
+ width: '25%',
51
+ },
52
+ \]}
53
+ rows\={\[
54
+ {
55
+ investmentName: 'US Stocks',
56
+ investmentDate: '2019-09-23',
57
+ totalPercentage: 24.8,
58
+ amount: 23898,
59
+ },
60
+ {
61
+ investmentName: 'US Bonds',
62
+ investmentDate: '2019-02-05',
63
+ totalPercentage: 26.2,
64
+ amount: 26382.456,
65
+ },
66
+ {
67
+ investmentName: 'AU Stocks',
68
+ investmentDate: '2019-02-05',
69
+ totalPercentage: 26.2,
70
+ amount: 9342.1569,
71
+ },
72
+ {
73
+ investmentName: 'UK Stocks',
74
+ investmentDate: '2020-06-28',
75
+ totalPercentage: 49,
76
+ amount: 49751.4,
77
+ },
78
+ \]}
79
+ />
80
+ );
81
+ };
82
+
83
+ Copy
84
+
85
+ [](#onchange-with-valid-value)OnChange with valid value
86
+ -------------------------------------------------------
87
+
88
+ Only able to input valid value when use `IressInputCurrency`. In this example, only number and 2 decimal places are allowed.
89
+
90
+ AUD
91
+
92
+ Hide code
93
+
94
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
95
+
96
+ export const ValidValueOnChage \= () \=> {
97
+ const \[value, setValue\] \= useState('');
98
+ return (
99
+ <IressInputCurrency
100
+ value\={value}
101
+ onChange\={(\_e, value) \=> {
102
+ if (typeof value \=== 'string' && /^-?\\d\*(\\.\\d{0,2})?$/.test(value)) {
103
+ console.log('Valid value:', value);
104
+ setValue(value);
105
+ }
106
+ }}
107
+ />
108
+ );
109
+ };
110
+
111
+ Copy
112
+
113
+ On this page
114
+
115
+ * [Using IressInputCurrency in table](#using-iressinputcurrency-in-table)
116
+ * [OnChange with valid value](#onchange-with-valid-value)
@@ -0,0 +1,135 @@
1
+ [](#label)Label
2
+ ===============
3
+
4
+ Overview
5
+ --------
6
+
7
+ Use the `IressLabel` component when building bespoke form inputs and `IressField` is too restrictive.
8
+
9
+ **This is a label**
10
+
11
+ Hide code
12
+
13
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
14
+
15
+ <IressLabel\>
16
+ This is a label
17
+ </IressLabel\>
18
+
19
+ Copy
20
+
21
+ [](#examples)Examples
22
+ ---------------------
23
+
24
+ ### [](#required)Required
25
+
26
+ To indicate that an input is required, you may use the `required` prop to distinguish the label with an asterix.
27
+
28
+ **\*Required This is a label for a required input**
29
+
30
+ Hide code
31
+
32
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
33
+
34
+ <IressLabel required\>
35
+ This is a label for a required input
36
+ </IressLabel\>
37
+
38
+ Copy
39
+
40
+ ### [](#optional)Optional
41
+
42
+ Alternatively, if the majority of your form inputs are required, you may wish to distinguish only the optional inputs. For this, use the `optional` prop.
43
+
44
+ The `optional` prop also accepts a string, in which case it will replace the default "(optional)" label, useful when you need to support translation.
45
+
46
+ **Note:** that the `optional` and `required` props are mutually exclusive, with `required` taking precedence.
47
+
48
+ **This is a label for an optional input(optional)**
49
+
50
+ Hide code
51
+
52
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
53
+
54
+ <IressLabel optional\>
55
+ This is a label for an optional input
56
+ </IressLabel\>
57
+
58
+ Copy
59
+
60
+ **This is a label for an optional input(选修的)**
61
+
62
+ Hide code
63
+
64
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
65
+
66
+ <IressLabel optional\="(选修的)"\>
67
+ This is a label for an optional input
68
+ </IressLabel\>
69
+
70
+ Copy
71
+
72
+ ### [](#hidden-label)Hidden label
73
+
74
+ Sometimes you may wish to have an input with no visible label, but to still wrap the input in a label for accessibility. In this case, set `hiddenLabel` to `true`.
75
+
76
+ **This text is visible to screen readers only**
77
+
78
+ Hide code
79
+
80
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
81
+
82
+ <IressLabel hiddenLabel\>
83
+ This text is visible to screen readers only
84
+ </IressLabel\>
85
+
86
+ Copy
87
+
88
+ ### [](#rich-content)Rich content
89
+
90
+ You can render custom content into the label.
91
+
92
+ **
93
+
94
+ Home settings
95
+
96
+ **
97
+
98
+ Hide code
99
+
100
+ \[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
101
+
102
+ <IressLabel\>
103
+ <IressInline
104
+ gutter\="md"
105
+ verticalAlign\="middle"
106
+ \>
107
+ <IressIcon name\="home" />
108
+ Home settings <IressIcon name\="cog" />
109
+ </IressInline\>
110
+ </IressLabel\>
111
+
112
+ Copy
113
+
114
+ [](#accessibility)Accessibility
115
+ -------------------------------
116
+
117
+ Don't place interactive elements such as anchors or buttons inside the `IressLabel`. Doing so makes it difficult for people to activate the form input associated with the label.
118
+
119
+ See the [MDN Label Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#accessibility_concerns) for more info.
120
+
121
+ ### [](#labelling-non-interactive-content)Labelling non-interactive content
122
+
123
+ `IressLabel` can be used to label non-interactive content, such as readonly data. In this case, do not provide a `htmlFor` prop. This will render the label using a `strong` tag instead of a `label` tag.
124
+
125
+ On this page
126
+
127
+ * [Overview](#overview)
128
+ * [Props](#props)
129
+ * [Examples](#examples)
130
+ * [Required](#required)
131
+ * [Optional](#optional)
132
+ * [Hidden label](#hidden-label)
133
+ * [Rich content](#rich-content)
134
+ * [Accessibility](#accessibility)
135
+ * [Labelling non-interactive content](#labelling-non-interactive-content)