@iress-oss/ids-mcp-server 0.0.1 → 5.14.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 (122) hide show
  1. package/LICENSE.txt +201 -0
  2. package/README.md +29 -159
  3. package/dist/componentHandlers.js +241 -0
  4. package/dist/componentHandlers.test.js +380 -0
  5. package/{build → dist}/config.js +5 -5
  6. package/dist/index.js +53 -0
  7. package/{build → dist}/iressHandlers.js +52 -46
  8. package/dist/iressHandlers.test.js +316 -0
  9. package/{build → dist}/resourceHandlers.js +23 -22
  10. package/dist/resourceHandlers.test.js +352 -0
  11. package/{build → dist}/searchHandlers.js +107 -92
  12. package/dist/searchHandlers.test.js +524 -0
  13. package/{build → dist}/toolHandler.js +13 -13
  14. package/dist/toolHandler.test.js +369 -0
  15. package/dist/tools.js +165 -0
  16. package/{build → dist}/utils.js +11 -15
  17. package/dist/utils.test.js +286 -0
  18. package/{docs/ids → generated/docs}/components-autocomplete-docs.md +3 -3
  19. package/{docs/ids → generated/docs}/components-autocomplete-recipes-docs.md +17 -51
  20. package/{docs/ids → generated/docs}/components-card-recipes-docs.md +1 -1
  21. package/{docs/ids → generated/docs}/components-checkbox-docs.md +6 -19
  22. package/{docs/ids → generated/docs}/components-checkboxgroup-docs.md +18 -18
  23. package/{docs/ids → generated/docs}/components-checkboxgroup-recipes-docs.md +9 -9
  24. package/{docs/ids → generated/docs}/components-col-docs.md +1 -1
  25. package/{docs/ids → generated/docs}/components-combobox-docs.md +4 -4
  26. package/{docs/ids → generated/docs}/components-container-docs.md +8 -42
  27. package/{docs/ids → generated/docs}/components-filter-docs.md +14 -67
  28. package/{docs/ids → generated/docs}/components-form-docs.md +341 -335
  29. package/{docs/ids → generated/docs}/components-form-recipes-docs.md +198 -1
  30. package/{docs/ids → generated/docs}/components-hide-docs.md +16 -70
  31. package/{docs/ids → generated/docs}/components-icon-docs.md +4 -4
  32. package/{docs/ids → generated/docs}/components-input-recipes-docs.md +2 -2
  33. package/{docs/ids → generated/docs}/components-inputcurrency-recipes-docs.md +6 -40
  34. package/{docs/ids → generated/docs}/components-modal-docs.md +3 -113
  35. package/generated/docs/components-popover-docs.md +464 -0
  36. package/{docs/ids → generated/docs}/components-radiogroup-docs.md +21 -21
  37. package/{docs/ids → generated/docs}/components-richselect-docs.md +149 -111
  38. package/{docs/ids → generated/docs}/components-row-docs.md +4 -4
  39. package/{docs/ids → generated/docs}/components-skeleton-docs.md +3 -3
  40. package/{docs/ids → generated/docs}/components-skeleton-recipes-docs.md +1 -1
  41. package/{docs/ids → generated/docs}/components-skiplink-docs.md +1 -1
  42. package/{docs/ids → generated/docs}/components-slideout-docs.md +3 -113
  43. package/{docs/ids → generated/docs}/components-table-ag-grid-docs.md +109 -137
  44. package/{docs/ids → generated/docs}/components-table-docs.md +92 -597
  45. package/{docs/ids → generated/docs}/components-tabset-docs.md +2 -2
  46. package/{docs/ids → generated/docs}/components-tag-docs.md +1 -1
  47. package/{docs/ids → generated/docs}/components-toaster-docs.md +5 -5
  48. package/{docs/ids → generated/docs}/extensions-editor-docs.md +4 -4
  49. package/generated/docs/foundations-accessibility-docs.md +62 -0
  50. package/{docs/ids → generated/docs}/foundations-colours-docs.md +1 -1
  51. package/generated/docs/foundations-consistency-docs.md +52 -0
  52. package/generated/docs/foundations-content-docs.md +23 -0
  53. package/generated/docs/foundations-introduction-docs.md +17 -0
  54. package/generated/docs/foundations-principles-docs.md +70 -0
  55. package/{docs/ids → generated/docs}/foundations-typography-docs.md +7 -2
  56. package/generated/docs/foundations-user-experience-docs.md +63 -0
  57. package/generated/docs/foundations-visual-design-docs.md +46 -0
  58. package/{docs/ids → generated/docs}/get-started-develop-docs.md +3 -3
  59. package/generated/docs/guidelines.md +812 -0
  60. package/{docs/ids → generated/docs}/introduction-docs.md +4 -4
  61. package/{docs/ids → generated/docs}/patterns-loading-docs.md +332 -2
  62. package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +437 -0
  63. package/generated/docs/themes-available-themes-docs.md +66 -0
  64. package/generated/docs/themes-tokens-docs.md +1200 -0
  65. package/generated/docs/versions-docs.md +17 -0
  66. package/package.json +42 -14
  67. package/LICENSE +0 -193
  68. package/build/componentHandlers.js +0 -205
  69. package/build/index.js +0 -51
  70. package/build/tools.js +0 -165
  71. package/docs/api-reference.md +0 -0
  72. package/docs/best-practices.md +0 -0
  73. package/docs/configuration.md +0 -0
  74. package/docs/examples.md +0 -0
  75. package/docs/guidelines.md +0 -269
  76. package/docs/ids/components-popover-docs.md +0 -4
  77. package/docs/ids/resources-migration-guides-from-v4-to-v5-docs.md +0 -639
  78. package/docs/ids/themes-available-themes-docs.md +0 -74
  79. package/docs/ids/themes-tokens-docs.md +0 -4580
  80. package/docs/ids/versions-docs.md +0 -27
  81. package/docs/tutorials/basic-integration.md +0 -0
  82. /package/{build → dist}/types.js +0 -0
  83. /package/{docs/ids → generated/docs}/components-alert-docs.md +0 -0
  84. /package/{docs/ids → generated/docs}/components-badge-docs.md +0 -0
  85. /package/{docs/ids → generated/docs}/components-button-docs.md +0 -0
  86. /package/{docs/ids → generated/docs}/components-button-recipes-docs.md +0 -0
  87. /package/{docs/ids → generated/docs}/components-buttongroup-docs.md +0 -0
  88. /package/{docs/ids → generated/docs}/components-card-docs.md +0 -0
  89. /package/{docs/ids → generated/docs}/components-divider-docs.md +0 -0
  90. /package/{docs/ids → generated/docs}/components-expander-docs.md +0 -0
  91. /package/{docs/ids → generated/docs}/components-field-docs.md +0 -0
  92. /package/{docs/ids → generated/docs}/components-inline-docs.md +0 -0
  93. /package/{docs/ids → generated/docs}/components-input-docs.md +0 -0
  94. /package/{docs/ids → generated/docs}/components-inputcurrency-docs.md +0 -0
  95. /package/{docs/ids → generated/docs}/components-label-docs.md +0 -0
  96. /package/{docs/ids → generated/docs}/components-menu-docs.md +0 -0
  97. /package/{docs/ids → generated/docs}/components-menu-menuitem-docs.md +0 -0
  98. /package/{docs/ids → generated/docs}/components-navbar-docs.md +0 -0
  99. /package/{docs/ids → generated/docs}/components-navbar-recipes-docs.md +0 -0
  100. /package/{docs/ids → generated/docs}/components-panel-docs.md +0 -0
  101. /package/{docs/ids → generated/docs}/components-placeholder-docs.md +0 -0
  102. /package/{docs/ids → generated/docs}/components-popover-recipes-docs.md +0 -0
  103. /package/{docs/ids → generated/docs}/components-progress-docs.md +0 -0
  104. /package/{docs/ids → generated/docs}/components-radio-docs.md +0 -0
  105. /package/{docs/ids → generated/docs}/components-readonly-docs.md +0 -0
  106. /package/{docs/ids → generated/docs}/components-select-docs.md +0 -0
  107. /package/{docs/ids → generated/docs}/components-slider-docs.md +0 -0
  108. /package/{docs/ids → generated/docs}/components-spinner-docs.md +0 -0
  109. /package/{docs/ids → generated/docs}/components-stack-docs.md +0 -0
  110. /package/{docs/ids → generated/docs}/components-tabset-tab-docs.md +0 -0
  111. /package/{docs/ids → generated/docs}/components-text-docs.md +0 -0
  112. /package/{docs/ids → generated/docs}/components-toaster-toast-docs.md +0 -0
  113. /package/{docs/ids → generated/docs}/components-toggle-docs.md +0 -0
  114. /package/{docs/ids → generated/docs}/components-tooltip-docs.md +0 -0
  115. /package/{docs/ids → generated/docs}/components-validationmessage-docs.md +0 -0
  116. /package/{docs/ids → generated/docs}/contact-us-docs.md +0 -0
  117. /package/{docs/ids → generated/docs}/extensions-editor-recipes-docs.md +0 -0
  118. /package/{docs/ids → generated/docs}/frequently-asked-questions-docs.md +0 -0
  119. /package/{docs/ids → generated/docs}/get-started-using-storybook-docs.md +0 -0
  120. /package/{docs/ids → generated/docs}/resources-changelog-docs.md +0 -0
  121. /package/{docs/ids → generated/docs}/resources-code-katas-docs.md +0 -0
  122. /package/{docs/ids → generated/docs}/themes-introduction-docs.md +0 -0
package/build/tools.js DELETED
@@ -1,165 +0,0 @@
1
- /**
2
- * Tool definitions for the IDS MCP Server
3
- */
4
- export const toolDefinitions = [
5
- {
6
- name: "find_component",
7
- description: "Find IDS components by name or functionality. Perfect for discovering which component to use for specific UI needs.",
8
- inputSchema: {
9
- type: "object",
10
- properties: {
11
- query: {
12
- type: "string",
13
- description: "Component name (e.g., 'button', 'input') or functionality (e.g., 'form submission', 'navigation')",
14
- },
15
- category: {
16
- type: "string",
17
- description: "Optional: filter by category (components, foundations, resources)",
18
- enum: ["components", "foundations", "resources"],
19
- },
20
- },
21
- required: ["query"],
22
- },
23
- },
24
- {
25
- name: "get_component_props",
26
- description: "Get detailed prop information and usage examples for IDS components. Essential for implementing components correctly.",
27
- inputSchema: {
28
- type: "object",
29
- properties: {
30
- component: {
31
- type: "string",
32
- description: "Component name (e.g., 'button', 'input', 'table')",
33
- },
34
- },
35
- required: ["component"],
36
- },
37
- },
38
- {
39
- name: "get_usage_examples",
40
- description: "Get code examples and implementation patterns for IDS components. Shows real-world usage in React applications.",
41
- inputSchema: {
42
- type: "object",
43
- properties: {
44
- component: {
45
- type: "string",
46
- description: "Component name to get examples for",
47
- },
48
- pattern: {
49
- type: "string",
50
- description: "Optional: specific usage pattern (e.g., 'form', 'modal', 'table')",
51
- },
52
- },
53
- required: ["component"],
54
- },
55
- },
56
- {
57
- name: "search_ids_docs",
58
- description: "Search across all IDS documentation for specific terms, patterns, or implementation details.",
59
- inputSchema: {
60
- type: "object",
61
- properties: {
62
- query: {
63
- type: "string",
64
- description: "Search term (component names, props, CSS classes, implementation patterns)",
65
- },
66
- case_sensitive: {
67
- type: "boolean",
68
- description: "Whether to perform case-sensitive search",
69
- default: false,
70
- },
71
- },
72
- required: ["query"],
73
- },
74
- },
75
- {
76
- name: "list_components",
77
- description: "List all available IDS components, organized by category. Great for component discovery.",
78
- inputSchema: {
79
- type: "object",
80
- properties: {
81
- category: {
82
- type: "string",
83
- description: "Filter by category: components, foundations, or resources",
84
- enum: ["components", "foundations", "resources", "all"],
85
- default: "all",
86
- },
87
- },
88
- },
89
- },
90
- {
91
- name: "get_design_tokens",
92
- description: "Get information about IDS design tokens (colors, spacing, typography) for consistent UI implementation.",
93
- inputSchema: {
94
- type: "object",
95
- properties: {
96
- type: {
97
- type: "string",
98
- description: "Type of design token to search for",
99
- enum: ["colors", "spacing", "typography", "breakpoints", "all"],
100
- default: "all",
101
- },
102
- },
103
- },
104
- },
105
- {
106
- name: "get_iress_component_info",
107
- description: "Get comprehensive information about Iress components mentioned by their full name (e.g., IressButton, IressInput, IressTable). Perfect for when components are mentioned with the Iress prefix.",
108
- inputSchema: {
109
- type: "object",
110
- properties: {
111
- component_name: {
112
- type: "string",
113
- description: "Full Iress component name (e.g., 'IressButton', 'IressInput', 'IressTable')",
114
- },
115
- include_examples: {
116
- type: "boolean",
117
- description: "Whether to include usage examples in the response",
118
- default: true,
119
- },
120
- include_props: {
121
- type: "boolean",
122
- description: "Whether to include prop information in the response",
123
- default: true,
124
- },
125
- },
126
- required: ["component_name"],
127
- },
128
- },
129
- {
130
- name: "analyze_component_mentions",
131
- description: "Analyze text to find all Iress component mentions (e.g., IressButton, IressInput) and provide information about each one.",
132
- inputSchema: {
133
- type: "object",
134
- properties: {
135
- text: {
136
- type: "string",
137
- description: "Text content to analyze for Iress component mentions",
138
- },
139
- detailed: {
140
- type: "boolean",
141
- description: "Whether to provide detailed information for each component found",
142
- default: false,
143
- },
144
- },
145
- required: ["text"],
146
- },
147
- },
148
- {
149
- name: "get_design_guidelines",
150
- description: "Get IDS design guidelines covering core principles, visual standards, accessibility requirements, and best practices for consistent design implementation.",
151
- inputSchema: {
152
- type: "object",
153
- properties: {
154
- section: {
155
- type: "string",
156
- description: "Optional: specific guideline section (e.g., 'principles', 'typography', 'accessibility', 'layout', 'colors')",
157
- },
158
- query: {
159
- type: "string",
160
- description: "Optional: search for specific guidelines or best practices",
161
- },
162
- },
163
- },
164
- },
165
- ];
File without changes
File without changes
File without changes
package/docs/examples.md DELETED
File without changes
@@ -1,269 +0,0 @@
1
- # Iress Design System Guidelines
2
-
3
- ## Overview
4
-
5
- The Iress Design System (IDS) serves as a shared visual language, working code, design tools and resources, human interface guidelines, and a community of contributors. It supports designers and developers building digital products for both B2B (Financial Advisors, Paraplanners) and B2B2C (client customers) segments.
6
-
7
- ---
8
-
9
- ## Core Design Principles
10
-
11
- ### Consistency
12
-
13
- - Maintain brand consistency across all applications and experiences
14
- - Use standardised component naming conventions (all components start with `Iress` prefix)
15
- - Leverage shared design tokens for spacing, colours, typography, and interactive states
16
- - Ensure consistent behaviour patterns across similar components
17
-
18
- ### Accessibility First
19
-
20
- - Meet or exceed WCAG 2.1 Level AA Accessibility Guidelines
21
- - Provide proper colour contrast ratios (minimum 4.5:1 for AA, 7:1 for AAA)
22
- - Implement comprehensive keyboard navigation support
23
- - Include screen reader compatibility with appropriate ARIA attributes
24
- - Support focus management and skip navigation patterns
25
-
26
- ### Clarity and Usability
27
-
28
- - Prioritise clear visual hierarchy through typography scales and spacing systems
29
- - Use progressive disclosure to manage complexity
30
- - Provide immediate feedback for user actions (loading states, validation, etc.)
31
- - Design for touch-friendly interfaces with adequate target sizes
32
-
33
- ### Developer Experience
34
-
35
- - Maintain clean component APIs with predictable prop patterns
36
- - Provide comprehensive documentation with usage examples
37
- - Support both controlled and uncontrolled component patterns
38
- - Enable efficient testing strategies with semantic roles and accessible queries
39
-
40
- ---
41
-
42
- ## Visual Design Standards
43
-
44
- ### Typography
45
-
46
- - Use systematic font sizing with heading scales (H1-H6)
47
- - Implement consistent line heights and font weights
48
- - Provide text colour hierarchies (primary, muted, success, warning, danger)
49
- - Support responsive typography scaling
50
-
51
- ### Colour System
52
-
53
- - Maintain semantic colour meanings:
54
- - **Primary**: Main call-to-action colour with high contrast
55
- - **Success**: Positive outcomes and confirmations
56
- - **Warning**: Caution and important notices
57
- - **Danger**: Errors and destructive actions
58
- - **Info**: Neutral information and guidance
59
- - **Positive/Negative**: Financial context (buy/sell actions)
60
- - Ensure all colour combinations meet accessibility contrast requirements
61
- - Provide consistent hover and active state colours
62
-
63
- ### Spacing and Layout
64
-
65
- - Use systematic spacing scale (xs, sm, md, lg, xl)
66
- - Apply consistent gutter systems for layout components
67
- - Implement responsive breakpoints for adaptive layouts
68
- - Maintain proper margin and padding relationships
69
-
70
- ### Interactive States
71
-
72
- - Provide clear hover, focus, active, and disabled states
73
- - Use consistent transition timing and easing
74
- - Implement proper focus indicators for keyboard navigation
75
- - Show loading states for asynchronous operations
76
-
77
- ---
78
-
79
- ## Component Guidelines
80
-
81
- ### Buttons
82
-
83
- - **Primary**: Limit to one per view for main call-to-action
84
- - **Secondary**: Use for secondary actions
85
- - **Tertiary**: Extra affordance between secondary actions
86
- - **Link**: Button styled as link (avoid with icon-only content)
87
- - **Danger**: Destructive actions requiring extra confirmation
88
- - **Positive/Negative**: Financial transactions (buy/sell)
89
-
90
- ### Forms
91
-
92
- - Always use `IressField` wrapper for proper label, hint, and error placement
93
- - Provide clear validation feedback with appropriate error messages
94
- - Use consistent input sizing based on expected content length
95
- - Implement proper form state management and accessibility
96
-
97
- ### Navigation
98
-
99
- - Use semantic HTML5 navigation elements
100
- - Provide skip links for keyboard users
101
- - Implement proper ARIA labelling for navigation sections
102
- - Ensure consistent navigation patterns across applications
103
-
104
- ### Data Display
105
-
106
- - Use semantic table structures with proper headers
107
- - Provide clear visual hierarchy in data presentations
108
- - Implement consistent sorting and filtering patterns
109
- - Use appropriate loading states for data-heavy components
110
-
111
- ### Modals and Overlays
112
-
113
- - Reserve modals for critical tasks requiring full attention
114
- - Provide multiple dismissal methods (backdrop, escape key, close button)
115
- - Implement proper focus management and restoration
116
- - Use slideouts for supplementary tasks where underlying content needs visibility
117
-
118
- ---
119
-
120
- ## Interaction Patterns
121
-
122
- ### Keyboard Navigation
123
-
124
- - Support standard keyboard shortcuts (Tab, Arrow keys, Enter, Space, Escape)
125
- - Implement proper focus order and visual focus indicators
126
- - Provide keyboard alternatives for mouse-only interactions
127
- - Follow established ARIA patterns for complex widgets
128
-
129
- ### Touch Interactions
130
-
131
- - Provide adequate touch target sizes (minimum 44px)
132
- - Implement touch-friendly spacing between interactive elements
133
- - Support gesture-based interactions where appropriate
134
- - Ensure consistent behaviour across device types
135
-
136
- ### Loading and Feedback
137
-
138
- - Use appropriate loading patterns based on context:
139
- - **Page**: Full page loading states
140
- - **Component**: Local loading within sections
141
- - **Button**: Inline loading for form submissions
142
- - **Validate**: Server-side validation feedback
143
- - Provide clear success and error feedback
144
- - Use progressive enhancement for better perceived performance
145
-
146
- ---
147
-
148
- ## Responsive Design
149
-
150
- ### Breakpoint Strategy
151
-
152
- - Implement mobile-first responsive design
153
- - Use consistent breakpoint values across all components
154
- - Provide appropriate component variants for different screen sizes
155
- - Consider content priority and progressive disclosure on smaller screens
156
-
157
- ### Adaptive Behaviour
158
-
159
- - Reduce option counts on mobile devices where appropriate
160
- - Implement responsive navigation patterns
161
- - Adjust spacing and sizing for different contexts
162
- - Maintain usability across all supported devices
163
-
164
- ---
165
-
166
- ## Content Strategy
167
-
168
- ### Microcopy Guidelines
169
-
170
- - Use clear, concise language that matches user mental models
171
- - Provide helpful error messages with actionable guidance
172
- - Implement consistent tone of voice across all interface text
173
- - Use progressive disclosure for complex information
174
-
175
- ### Iconography
176
-
177
- - Use icons consistently with established meanings
178
- - Provide screen reader text for meaningful icons
179
- - Avoid using icons as the sole means of communication
180
- - Maintain consistent icon sizing and alignment
181
-
182
- ---
183
-
184
- ## Quality Assurance
185
-
186
- ### Testing Standards
187
-
188
- - Test components across supported browsers and devices
189
- - Validate accessibility compliance with automated and manual testing
190
- - Ensure proper keyboard navigation functionality
191
- - Test with assistive technologies (screen readers, voice control)
192
-
193
- ### Documentation Requirements
194
-
195
- - Provide clear usage examples for all components
196
- - Document accessibility considerations and requirements
197
- - Include common patterns and anti-patterns
198
- - Maintain up-to-date prop documentation and type definitions
199
-
200
- ---
201
-
202
- ## Implementation Guidelines
203
-
204
- ### Code Standards
205
-
206
- - Follow consistent naming conventions for CSS classes and component props
207
- - Use semantic HTML elements where appropriate
208
- - Implement proper TypeScript typing for better developer experience
209
- - Maintain clean separation between presentation and logic
210
-
211
- ### Performance Considerations
212
-
213
- - Optimise component rendering and re-rendering
214
- - Implement appropriate code splitting strategies
215
- - Use efficient animation and transition patterns
216
- - Consider bundle size impact of component dependencies
217
-
218
- ---
219
-
220
- # UX Heuristic Foundations
221
-
222
- These principles serve as a lens to assess the usability and user-centred design quality of all Iress products.
223
-
224
- ## System Feedback
225
-
226
- - Always show users where they are, what just happened, and what’s possible next.
227
- - Provide immediate visual and textual feedback for all actions and states.
228
- - Ensure feedback is clear, contextual, and proportionate to the importance of the action.
229
-
230
- ## Language and Mental Models
231
-
232
- - Use user-centred language and avoid technical jargon.
233
- - Follow cultural and industry conventions for colour, iconography, terminology, and layout.
234
- - Align interaction patterns with real-world analogues wherever feasible.
235
-
236
- ## Control and Forgiveness
237
-
238
- - Make actions reversible and provide undo where errors may occur.
239
- - Let users easily backtrack, edit inputs, or abandon flows.
240
- - Provide escape hatches from any process without penalty.
241
-
242
- ## Standards and Consistency
243
-
244
- - Use consistent layout, labelling, iconography, and grammar.
245
- - Reinforce expectations by placing similar elements in predictable positions.
246
- - Apply colour, spacing, and visual patterns consistently across all screens.
247
-
248
- ## Error Prevention and Recovery
249
-
250
- - Prevent errors by anticipating misuse and validating early.
251
- - Phrase error messages with clarity, empathy, and constructive suggestions.
252
- - Where errors occur, explain why and how they can be resolved.
253
-
254
- ## Recognition Over Recall
255
-
256
- - Display necessary information at the point of decision.
257
- - Use visual grouping, spacing, and affordance to reveal hierarchy.
258
- - Prioritise visual clarity over novelty.
259
-
260
- ## Simplicity and Minimalism
261
-
262
- - Remove unnecessary detail—every word, element, or feature should earn its place.
263
- - Design for clarity of purpose with visually distinct, semantically meaningful UI components.
264
- - Use whitespace, clean alignment, and simplified flows to reduce cognitive load.
265
-
266
- ---
267
-
268
- _This document is a living standard. Revisit and revise regularly to reflect evolving needs, technologies, and user expectations._
269
-
@@ -1,4 +0,0 @@
1
- <!-- Error extracting markdown: page.goto: Timeout 30000ms exceeded.
2
- Call log:
3
-  - navigating to "http://localhost:6006/iframe.html?viewMode=docs&id=components-popover--docs", waiting until "networkidle"
4
- -->