@iress-oss/ids-mcp-server 6.0.0-alpha.0 → 6.0.0-alpha.1-canary-20251204014525-3f0dce4

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 (108) hide show
  1. package/dist/searchHandlers.test.js +8 -2
  2. package/dist/toolHandler.test.js +9 -9
  3. package/dist/utils.test.js +6 -2
  4. package/package.json +32 -30
  5. package/generated/docs/components-alert-docs.md +0 -702
  6. package/generated/docs/components-autocomplete-docs.md +0 -1433
  7. package/generated/docs/components-autocomplete-recipes-docs.md +0 -104
  8. package/generated/docs/components-badge-docs.md +0 -531
  9. package/generated/docs/components-button-docs.md +0 -1442
  10. package/generated/docs/components-buttongroup-docs.md +0 -748
  11. package/generated/docs/components-card-docs.md +0 -944
  12. package/generated/docs/components-checkbox-docs.md +0 -694
  13. package/generated/docs/components-checkboxgroup-docs.md +0 -1087
  14. package/generated/docs/components-checkboxgroup-recipes-docs.md +0 -119
  15. package/generated/docs/components-col-docs.md +0 -881
  16. package/generated/docs/components-container-docs.md +0 -123
  17. package/generated/docs/components-divider-docs.md +0 -576
  18. package/generated/docs/components-expander-docs.md +0 -594
  19. package/generated/docs/components-field-docs.md +0 -2007
  20. package/generated/docs/components-filter-docs.md +0 -1322
  21. package/generated/docs/components-hide-docs.md +0 -702
  22. package/generated/docs/components-icon-docs.md +0 -816
  23. package/generated/docs/components-image-docs.md +0 -493
  24. package/generated/docs/components-inline-docs.md +0 -2003
  25. package/generated/docs/components-input-docs.md +0 -867
  26. package/generated/docs/components-input-recipes-docs.md +0 -140
  27. package/generated/docs/components-inputcurrency-docs.md +0 -689
  28. package/generated/docs/components-inputcurrency-recipes-docs.md +0 -115
  29. package/generated/docs/components-introduction-docs.md +0 -450
  30. package/generated/docs/components-label-docs.md +0 -562
  31. package/generated/docs/components-link-docs.md +0 -586
  32. package/generated/docs/components-menu-docs.md +0 -1146
  33. package/generated/docs/components-menu-menuitem-docs.md +0 -739
  34. package/generated/docs/components-modal-docs.md +0 -1346
  35. package/generated/docs/components-panel-docs.md +0 -600
  36. package/generated/docs/components-placeholder-docs.md +0 -446
  37. package/generated/docs/components-popover-docs.md +0 -1529
  38. package/generated/docs/components-popover-recipes-docs.md +0 -211
  39. package/generated/docs/components-progress-docs.md +0 -568
  40. package/generated/docs/components-provider-docs.md +0 -160
  41. package/generated/docs/components-radio-docs.md +0 -563
  42. package/generated/docs/components-radiogroup-docs.md +0 -1153
  43. package/generated/docs/components-readonly-docs.md +0 -535
  44. package/generated/docs/components-richselect-docs.md +0 -5836
  45. package/generated/docs/components-row-docs.md +0 -2354
  46. package/generated/docs/components-select-docs.md +0 -940
  47. package/generated/docs/components-skeleton-docs.md +0 -597
  48. package/generated/docs/components-skeleton-recipes-docs.md +0 -76
  49. package/generated/docs/components-skiplink-docs.md +0 -587
  50. package/generated/docs/components-slideout-docs.md +0 -1036
  51. package/generated/docs/components-slider-docs.md +0 -828
  52. package/generated/docs/components-spinner-docs.md +0 -450
  53. package/generated/docs/components-stack-docs.md +0 -923
  54. package/generated/docs/components-table-ag-grid-docs.md +0 -1444
  55. package/generated/docs/components-table-docs.md +0 -2327
  56. package/generated/docs/components-tabset-docs.md +0 -768
  57. package/generated/docs/components-tabset-tab-docs.md +0 -550
  58. package/generated/docs/components-tag-docs.md +0 -548
  59. package/generated/docs/components-text-docs.md +0 -585
  60. package/generated/docs/components-toaster-docs.md +0 -755
  61. package/generated/docs/components-toggle-docs.md +0 -614
  62. package/generated/docs/components-tooltip-docs.md +0 -747
  63. package/generated/docs/components-validationmessage-docs.md +0 -1161
  64. package/generated/docs/contact-us-docs.md +0 -27
  65. package/generated/docs/extensions-editor-docs.md +0 -1181
  66. package/generated/docs/extensions-editor-recipes-docs.md +0 -89
  67. package/generated/docs/foundations-accessibility-docs.md +0 -40
  68. package/generated/docs/foundations-consistency-docs.md +0 -52
  69. package/generated/docs/foundations-content-docs.md +0 -23
  70. package/generated/docs/foundations-grid-docs.md +0 -74
  71. package/generated/docs/foundations-introduction-docs.md +0 -19
  72. package/generated/docs/foundations-principles-docs.md +0 -70
  73. package/generated/docs/foundations-responsive-breakpoints-docs.md +0 -193
  74. package/generated/docs/foundations-tokens-colour-docs.md +0 -564
  75. package/generated/docs/foundations-tokens-elevation-docs.md +0 -155
  76. package/generated/docs/foundations-tokens-introduction-docs.md +0 -190
  77. package/generated/docs/foundations-tokens-radius-docs.md +0 -71
  78. package/generated/docs/foundations-tokens-spacing-docs.md +0 -89
  79. package/generated/docs/foundations-tokens-typography-docs.md +0 -322
  80. package/generated/docs/foundations-user-experience-docs.md +0 -63
  81. package/generated/docs/foundations-visual-design-docs.md +0 -46
  82. package/generated/docs/foundations-z-index-stacking-docs.md +0 -31
  83. package/generated/docs/frequently-asked-questions-docs.md +0 -53
  84. package/generated/docs/get-started-develop-docs.md +0 -209
  85. package/generated/docs/get-started-using-storybook-docs.md +0 -68
  86. package/generated/docs/guidelines.md +0 -2054
  87. package/generated/docs/introduction-docs.md +0 -87
  88. package/generated/docs/news-version-6-docs.md +0 -93
  89. package/generated/docs/patterns-form-docs.md +0 -3902
  90. package/generated/docs/patterns-form-recipes-docs.md +0 -1370
  91. package/generated/docs/patterns-introduction-docs.md +0 -24
  92. package/generated/docs/patterns-loading-docs.md +0 -4043
  93. package/generated/docs/resources-code-katas-docs.md +0 -29
  94. package/generated/docs/resources-introduction-docs.md +0 -38
  95. package/generated/docs/resources-mcp-server-docs.md +0 -27
  96. package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +0 -437
  97. package/generated/docs/styling-props-colour-docs.md +0 -172
  98. package/generated/docs/styling-props-elevation-docs.md +0 -88
  99. package/generated/docs/styling-props-radius-docs.md +0 -86
  100. package/generated/docs/styling-props-reference-docs.md +0 -160
  101. package/generated/docs/styling-props-screen-readers-docs.md +0 -71
  102. package/generated/docs/styling-props-sizing-docs.md +0 -627
  103. package/generated/docs/styling-props-spacing-docs.md +0 -2282
  104. package/generated/docs/styling-props-typography-docs.md +0 -121
  105. package/generated/docs/themes-available-themes-docs.md +0 -66
  106. package/generated/docs/themes-introduction-docs.md +0 -121
  107. package/generated/docs/versions-docs.md +0 -17
  108. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -1,89 +0,0 @@
1
- [](#recipes)Recipes
2
- ===================
3
-
4
- [](#displaying-generated-html-without-the-editor)Displaying generated html without the editor
5
- ---------------------------------------------------------------------------------------------
6
-
7
- To display the contents of the editor, you should use the `IressText` component. This will allow it to be displayed in a readonly format similar to how the editor displays it.
8
-
9
- In the recipe below, we also sanitize the html using `DOMPurify` to prevent any malicious code from being executed.
10
-
11
- Welcome to the IressEditor
12
- --------------------------
13
-
14
- The `IressEditor` component focuses on usability and is designed to be as simple as possible to bring a familiar editing experience to regular users. `IressEditor` is based on [Tiptap.dev](https://tiptap.dev/) and supports all of its features:
15
-
16
- * General text formatting: **bold** and _italic_
17
- * Headings (h1-h4)
18
- * Ordered and bullet lists
19
- * Text align 
20
- * Use markdown as shortcuts to format text (give it a try, write \*\*bold\*\* and it will bold the text) 
21
-
22
- Hide code
23
-
24
- \[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; }
25
-
26
- const valueFromApi \= \`
27
- <h2 style="text-align: center">Welcome to the IressEditor</h2> <p> The <code>IressEditor</code> component focuses on usability and is designed to be as simple as possible to bring a familiar editing experience to regular users. <code>IressEditor</code> is based on <a href="https://tiptap.dev/" rel="noopener noreferrer" target="\_blank" >Tiptap.dev</a > and supports all of its features: </p> <ul> <li>General text formatting: <strong>bold</strong> and <em>italic</em></li> <li>Headings (h1-h4)</li> <li>Ordered and bullet lists</li> <li>Text align&nbsp;</li> <li> Use markdown as shortcuts to format text (give it a try, write \*\*bold\*\* and it will bold the text)&nbsp; </li> </ul>
28
- \`;
29
- export const GeneratedHtmlDisplayExample \= () \=> (
30
- <IressText
31
- dangerouslySetInnerHTML\={{ \_\_html: DOMPurify.sanitize(valueFromApi) }}
32
- />
33
- );
34
-
35
- Copy
36
-
37
- [](#displaying-additional-buttons-in-the-toolbar)Displaying additional buttons in the toolbar
38
- ---------------------------------------------------------------------------------------------
39
-
40
- To display additional buttons in the toolbar, you can use the `toolbar` prop of the `IressText` component. This allows you to add custom buttons to the toolbar.
41
-
42
- #\\:r0\\:--container{--mantine-z-index-app: 100;--mantine-z-index-modal: 200;--mantine-z-index-popover: 300;--mantine-z-index-overlay: 400;--mantine-z-index-max: 9999;--mantine-scale: 1;--mantine-cursor-type: default;--mantine-webkit-font-smoothing: antialiased;--mantine-moz-font-smoothing: grayscale;--mantine-color-white: #fff;--mantine-color-black: #000;--mantine-line-height: 1.55;--mantine-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-font-family-monospace: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--mantine-font-family-headings: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-heading-font-weight: 700;--mantine-heading-text-wrap: wrap;--mantine-radius-default: calc(0.25rem \* var(--mantine-scale));--mantine-primary-color-filled: var(--mantine-color-blue-filled);--mantine-primary-color-filled-hover: var(--mantine-color-blue-filled-hover);--mantine-primary-color-light: var(--mantine-color-blue-light);--mantine-primary-color-light-hover: var(--mantine-color-blue-light-hover);--mantine-primary-color-light-color: var(--mantine-color-blue-light-color);--mantine-breakpoint-xs: 36em;--mantine-breakpoint-sm: 48em;--mantine-breakpoint-md: 62em;--mantine-breakpoint-lg: 75em;--mantine-breakpoint-xl: 88em;--mantine-spacing-xs: calc(0.625rem \* var(--mantine-scale));--mantine-spacing-sm: calc(0.75rem \* var(--mantine-scale));--mantine-spacing-md: calc(1rem \* var(--mantine-scale));--mantine-spacing-lg: calc(1.25rem \* var(--mantine-scale));--mantine-spacing-xl: calc(2rem \* var(--mantine-scale));--mantine-font-size-xs: calc(0.75rem \* var(--mantine-scale));--mantine-font-size-sm: calc(0.875rem \* var(--mantine-scale));--mantine-font-size-md: calc(1rem \* var(--mantine-scale));--mantine-font-size-lg: calc(1.125rem \* var(--mantine-scale));--mantine-font-size-xl: calc(1.25rem \* var(--mantine-scale));--mantine-line-height-xs: 1.4;--mantine-line-height-sm: 1.45;--mantine-line-height-md: 1.55;--mantine-line-height-lg: 1.6;--mantine-line-height-xl: 1.65;--mantine-shadow-xs: 0 calc(0.0625rem \* var(--mantine-scale)) calc(0.1875rem \* var(--mantine-scale)) rgba(0, 0, 0, 0.05), 0 calc(0.0625rem \* var(--mantine-scale)) calc(0.125rem \* var(--mantine-scale)) rgba(0, 0, 0, 0.1);--mantine-shadow-sm: 0 calc(0.0625rem \* var(--mantine-scale)) calc(0.1875rem \* var(--mantine-scale)) rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 calc(0.625rem \* var(--mantine-scale)) calc(0.9375rem \* var(--mantine-scale)) calc(-0.3125rem \* var(--mantine-scale)), rgba(0, 0, 0, 0.04) 0 calc(0.4375rem \* var(--mantine-scale)) calc(0.4375rem \* var(--mantine-scale)) calc(-0.3125rem \* var(--mantine-scale));--mantine-shadow-md: 0 calc(0.0625rem \* var(--mantine-scale)) calc(0.1875rem \* var(--mantine-scale)) rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 calc(1.25rem \* var(--mantine-scale)) calc(1.5625rem \* var(--mantine-scale)) calc(-0.3125rem \* var(--mantine-scale)), rgba(0, 0, 0, 0.04) 0 calc(0.625rem \* var(--mantine-scale)) calc(0.625rem \* var(--mantine-scale)) calc(-0.3125rem \* var(--mantine-scale));--mantine-shadow-lg: 0 calc(0.0625rem \* var(--mantine-scale)) calc(0.1875rem \* var(--mantine-scale)) rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 calc(1.75rem \* var(--mantine-scale)) calc(1.4375rem \* var(--mantine-scale)) calc(-0.4375rem \* var(--mantine-scale)), rgba(0, 0, 0, 0.04) 0 calc(0.75rem \* var(--mantine-scale)) calc(0.75rem \* var(--mantine-scale)) calc(-0.4375rem \* var(--mantine-scale));--mantine-shadow-xl: 0 calc(0.0625rem \* var(--mantine-scale)) calc(0.1875rem \* var(--mantine-scale)) rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 calc(2.25rem \* var(--mantine-scale)) calc(1.75rem \* var(--mantine-scale)) calc(-0.4375rem \* var(--mantine-scale)), rgba(0, 0, 0, 0.04) 0 calc(1.0625rem \* var(--mantine-scale)) calc(1.0625rem \* var(--mantine-scale)) calc(-0.4375rem \* var(--mantine-scale));--mantine-radius-xs: calc(0.125rem \* var(--mantine-scale));--mantine-radius-sm: calc(0.25rem \* var(--mantine-scale));--mantine-radius-md: calc(0.5rem \* var(--mantine-scale));--mantine-radius-lg: calc(1rem \* var(--mantine-scale));--mantine-radius-xl: calc(2rem \* var(--mantine-scale));--mantine-primary-color-0: var(--mantine-color-blue-0);--mantine-primary-color-1: var(--mantine-color-blue-1);--mantine-primary-color-2: var(--mantine-color-blue-2);--mantine-primary-color-3: var(--mantine-color-blue-3);--mantine-primary-color-4: var(--mantine-color-blue-4);--mantine-primary-color-5: var(--mantine-color-blue-5);--mantine-primary-color-6: var(--mantine-color-blue-6);--mantine-primary-color-7: var(--mantine-color-blue-7);--mantine-primary-color-8: var(--mantine-color-blue-8);--mantine-primary-color-9: var(--mantine-color-blue-9);--mantine-color-dark-0: #C9C9C9;--mantine-color-dark-1: #b8b8b8;--mantine-color-dark-2: #828282;--mantine-color-dark-3: #696969;--mantine-color-dark-4: #424242;--mantine-color-dark-5: #3b3b3b;--mantine-color-dark-6: #2e2e2e;--mantine-color-dark-7: #242424;--mantine-color-dark-8: #1f1f1f;--mantine-color-dark-9: #141414;--mantine-color-gray-0: #f8f9fa;--mantine-color-gray-1: #f1f3f5;--mantine-color-gray-2: #e9ecef;--mantine-color-gray-3: #dee2e6;--mantine-color-gray-4: #ced4da;--mantine-color-gray-5: #adb5bd;--mantine-color-gray-6: #868e96;--mantine-color-gray-7: #495057;--mantine-color-gray-8: #343a40;--mantine-color-gray-9: #212529;--mantine-color-red-0: #fff5f5;--mantine-color-red-1: #ffe3e3;--mantine-color-red-2: #ffc9c9;--mantine-color-red-3: #ffa8a8;--mantine-color-red-4: #ff8787;--mantine-color-red-5: #ff6b6b;--mantine-color-red-6: #fa5252;--mantine-color-red-7: #f03e3e;--mantine-color-red-8: #e03131;--mantine-color-red-9: #c92a2a;--mantine-color-pink-0: #fff0f6;--mantine-color-pink-1: #ffdeeb;--mantine-color-pink-2: #fcc2d7;--mantine-color-pink-3: #faa2c1;--mantine-color-pink-4: #f783ac;--mantine-color-pink-5: #f06595;--mantine-color-pink-6: #e64980;--mantine-color-pink-7: #d6336c;--mantine-color-pink-8: #c2255c;--mantine-color-pink-9: #a61e4d;--mantine-color-grape-0: #f8f0fc;--mantine-color-grape-1: #f3d9fa;--mantine-color-grape-2: #eebefa;--mantine-color-grape-3: #e599f7;--mantine-color-grape-4: #da77f2;--mantine-color-grape-5: #cc5de8;--mantine-color-grape-6: #be4bdb;--mantine-color-grape-7: #ae3ec9;--mantine-color-grape-8: #9c36b5;--mantine-color-grape-9: #862e9c;--mantine-color-violet-0: #f3f0ff;--mantine-color-violet-1: #e5dbff;--mantine-color-violet-2: #d0bfff;--mantine-color-violet-3: #b197fc;--mantine-color-violet-4: #9775fa;--mantine-color-violet-5: #845ef7;--mantine-color-violet-6: #7950f2;--mantine-color-violet-7: #7048e8;--mantine-color-violet-8: #6741d9;--mantine-color-violet-9: #5f3dc4;--mantine-color-indigo-0: #edf2ff;--mantine-color-indigo-1: #dbe4ff;--mantine-color-indigo-2: #bac8ff;--mantine-color-indigo-3: #91a7ff;--mantine-color-indigo-4: #748ffc;--mantine-color-indigo-5: #5c7cfa;--mantine-color-indigo-6: #4c6ef5;--mantine-color-indigo-7: #4263eb;--mantine-color-indigo-8: #3b5bdb;--mantine-color-indigo-9: #364fc7;--mantine-color-blue-0: #e7f5ff;--mantine-color-blue-1: #d0ebff;--mantine-color-blue-2: #a5d8ff;--mantine-color-blue-3: #74c0fc;--mantine-color-blue-4: #4dabf7;--mantine-color-blue-5: #339af0;--mantine-color-blue-6: #228be6;--mantine-color-blue-7: #1c7ed6;--mantine-color-blue-8: #1971c2;--mantine-color-blue-9: #1864ab;--mantine-color-cyan-0: #e3fafc;--mantine-color-cyan-1: #c5f6fa;--mantine-color-cyan-2: #99e9f2;--mantine-color-cyan-3: #66d9e8;--mantine-color-cyan-4: #3bc9db;--mantine-color-cyan-5: #22b8cf;--mantine-color-cyan-6: #15aabf;--mantine-color-cyan-7: #1098ad;--mantine-color-cyan-8: #0c8599;--mantine-color-cyan-9: #0b7285;--mantine-color-teal-0: #e6fcf5;--mantine-color-teal-1: #c3fae8;--mantine-color-teal-2: #96f2d7;--mantine-color-teal-3: #63e6be;--mantine-color-teal-4: #38d9a9;--mantine-color-teal-5: #20c997;--mantine-color-teal-6: #12b886;--mantine-color-teal-7: #0ca678;--mantine-color-teal-8: #099268;--mantine-color-teal-9: #087f5b;--mantine-color-green-0: #ebfbee;--mantine-color-green-1: #d3f9d8;--mantine-color-green-2: #b2f2bb;--mantine-color-green-3: #8ce99a;--mantine-color-green-4: #69db7c;--mantine-color-green-5: #51cf66;--mantine-color-green-6: #40c057;--mantine-color-green-7: #37b24d;--mantine-color-green-8: #2f9e44;--mantine-color-green-9: #2b8a3e;--mantine-color-lime-0: #f4fce3;--mantine-color-lime-1: #e9fac8;--mantine-color-lime-2: #d8f5a2;--mantine-color-lime-3: #c0eb75;--mantine-color-lime-4: #a9e34b;--mantine-color-lime-5: #94d82d;--mantine-color-lime-6: #82c91e;--mantine-color-lime-7: #74b816;--mantine-color-lime-8: #66a80f;--mantine-color-lime-9: #5c940d;--mantine-color-yellow-0: #fff9db;--mantine-color-yellow-1: #fff3bf;--mantine-color-yellow-2: #ffec99;--mantine-color-yellow-3: #ffe066;--mantine-color-yellow-4: #ffd43b;--mantine-color-yellow-5: #fcc419;--mantine-color-yellow-6: #fab005;--mantine-color-yellow-7: #f59f00;--mantine-color-yellow-8: #f08c00;--mantine-color-yellow-9: #e67700;--mantine-color-orange-0: #fff4e6;--mantine-color-orange-1: #ffe8cc;--mantine-color-orange-2: #ffd8a8;--mantine-color-orange-3: #ffc078;--mantine-color-orange-4: #ffa94d;--mantine-color-orange-5: #ff922b;--mantine-color-orange-6: #fd7e14;--mantine-color-orange-7: #f76707;--mantine-color-orange-8: #e8590c;--mantine-color-orange-9: #d9480f;--mantine-h1-font-size: calc(2.125rem \* var(--mantine-scale));--mantine-h1-line-height: 1.3;--mantine-h1-font-weight: 700;--mantine-h2-font-size: calc(1.625rem \* var(--mantine-scale));--mantine-h2-line-height: 1.35;--mantine-h2-font-weight: 700;--mantine-h3-font-size: calc(1.375rem \* var(--mantine-scale));--mantine-h3-line-height: 1.4;--mantine-h3-font-weight: 700;--mantine-h4-font-size: calc(1.125rem \* var(--mantine-scale));--mantine-h4-line-height: 1.45;--mantine-h4-font-weight: 700;--mantine-h5-font-size: calc(1rem \* var(--mantine-scale));--mantine-h5-line-height: 1.5;--mantine-h5-font-weight: 700;--mantine-h6-font-size: calc(0.875rem \* var(--mantine-scale));--mantine-h6-line-height: 1.5;--mantine-h6-font-weight: 700;} #\\:r0\\:--container\[data-mantine-color-scheme="dark"\]{--mantine-color-scheme: dark;--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-bright: var(--mantine-color-white);--mantine-color-text: var(--mantine-color-dark-0);--mantine-color-body: var(--mantine-color-dark-7);--mantine-color-error: var(--mantine-color-red-8);--mantine-color-placeholder: var(--mantine-color-dark-3);--mantine-color-anchor: var(--mantine-color-blue-4);--mantine-color-default: var(--mantine-color-dark-6);--mantine-color-default-hover: var(--mantine-color-dark-5);--mantine-color-default-color: var(--mantine-color-white);--mantine-color-default-border: var(--mantine-color-dark-4);--mantine-color-dimmed: var(--mantine-color-dark-2);--mantine-color-disabled: var(--mantine-color-dark-6);--mantine-color-disabled-color: var(--mantine-color-dark-3);--mantine-color-disabled-border: var(--mantine-color-dark-4);--mantine-color-dark-text: var(--mantine-color-dark-4);--mantine-color-dark-filled: var(--mantine-color-dark-8);--mantine-color-dark-filled-hover: var(--mantine-color-dark-9);--mantine-color-dark-light: rgba(46, 46, 46, 0.15);--mantine-color-dark-light-hover: rgba(46, 46, 46, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-3);--mantine-color-dark-outline: var(--mantine-color-dark-4);--mantine-color-dark-outline-hover: rgba(66, 66, 66, 0.05);--mantine-color-gray-text: var(--mantine-color-gray-4);--mantine-color-gray-filled: var(--mantine-color-gray-8);--mantine-color-gray-filled-hover: var(--mantine-color-gray-9);--mantine-color-gray-light: rgba(134, 142, 150, 0.15);--mantine-color-gray-light-hover: rgba(134, 142, 150, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-3);--mantine-color-gray-outline: var(--mantine-color-gray-4);--mantine-color-gray-outline-hover: rgba(206, 212, 218, 0.05);--mantine-color-red-text: var(--mantine-color-red-4);--mantine-color-red-filled: var(--mantine-color-red-8);--mantine-color-red-filled-hover: var(--mantine-color-red-9);--mantine-color-red-light: rgba(250, 82, 82, 0.15);--mantine-color-red-light-hover: rgba(250, 82, 82, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-3);--mantine-color-red-outline: var(--mantine-color-red-4);--mantine-color-red-outline-hover: rgba(255, 135, 135, 0.05);--mantine-color-pink-text: var(--mantine-color-pink-4);--mantine-color-pink-filled: var(--mantine-color-pink-8);--mantine-color-pink-filled-hover: var(--mantine-color-pink-9);--mantine-color-pink-light: rgba(230, 73, 128, 0.15);--mantine-color-pink-light-hover: rgba(230, 73, 128, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-3);--mantine-color-pink-outline: var(--mantine-color-pink-4);--mantine-color-pink-outline-hover: rgba(247, 131, 172, 0.05);--mantine-color-grape-text: var(--mantine-color-grape-4);--mantine-color-grape-filled: var(--mantine-color-grape-8);--mantine-color-grape-filled-hover: var(--mantine-color-grape-9);--mantine-color-grape-light: rgba(190, 75, 219, 0.15);--mantine-color-grape-light-hover: rgba(190, 75, 219, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-3);--mantine-color-grape-outline: var(--mantine-color-grape-4);--mantine-color-grape-outline-hover: rgba(218, 119, 242, 0.05);--mantine-color-violet-text: var(--mantine-color-violet-4);--mantine-color-violet-filled: var(--mantine-color-violet-8);--mantine-color-violet-filled-hover: var(--mantine-color-violet-9);--mantine-color-violet-light: rgba(121, 80, 242, 0.15);--mantine-color-violet-light-hover: rgba(121, 80, 242, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-3);--mantine-color-violet-outline: var(--mantine-color-violet-4);--mantine-color-violet-outline-hover: rgba(151, 117, 250, 0.05);--mantine-color-indigo-text: var(--mantine-color-indigo-4);--mantine-color-indigo-filled: var(--mantine-color-indigo-8);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-9);--mantine-color-indigo-light: rgba(76, 110, 245, 0.15);--mantine-color-indigo-light-hover: rgba(76, 110, 245, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-3);--mantine-color-indigo-outline: var(--mantine-color-indigo-4);--mantine-color-indigo-outline-hover: rgba(116, 143, 252, 0.05);--mantine-color-blue-text: var(--mantine-color-blue-4);--mantine-color-blue-filled: var(--mantine-color-blue-8);--mantine-color-blue-filled-hover: var(--mantine-color-blue-9);--mantine-color-blue-light: rgba(34, 139, 230, 0.15);--mantine-color-blue-light-hover: rgba(34, 139, 230, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-3);--mantine-color-blue-outline: var(--mantine-color-blue-4);--mantine-color-blue-outline-hover: rgba(77, 171, 247, 0.05);--mantine-color-cyan-text: var(--mantine-color-cyan-4);--mantine-color-cyan-filled: var(--mantine-color-cyan-8);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-9);--mantine-color-cyan-light: rgba(21, 170, 191, 0.15);--mantine-color-cyan-light-hover: rgba(21, 170, 191, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-3);--mantine-color-cyan-outline: var(--mantine-color-cyan-4);--mantine-color-cyan-outline-hover: rgba(59, 201, 219, 0.05);--mantine-color-teal-text: var(--mantine-color-teal-4);--mantine-color-teal-filled: var(--mantine-color-teal-8);--mantine-color-teal-filled-hover: var(--mantine-color-teal-9);--mantine-color-teal-light: rgba(18, 184, 134, 0.15);--mantine-color-teal-light-hover: rgba(18, 184, 134, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-3);--mantine-color-teal-outline: var(--mantine-color-teal-4);--mantine-color-teal-outline-hover: rgba(56, 217, 169, 0.05);--mantine-color-green-text: var(--mantine-color-green-4);--mantine-color-green-filled: var(--mantine-color-green-8);--mantine-color-green-filled-hover: var(--mantine-color-green-9);--mantine-color-green-light: rgba(64, 192, 87, 0.15);--mantine-color-green-light-hover: rgba(64, 192, 87, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-3);--mantine-color-green-outline: var(--mantine-color-green-4);--mantine-color-green-outline-hover: rgba(105, 219, 124, 0.05);--mantine-color-lime-text: var(--mantine-color-lime-4);--mantine-color-lime-filled: var(--mantine-color-lime-8);--mantine-color-lime-filled-hover: var(--mantine-color-lime-9);--mantine-color-lime-light: rgba(130, 201, 30, 0.15);--mantine-color-lime-light-hover: rgba(130, 201, 30, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-3);--mantine-color-lime-outline: var(--mantine-color-lime-4);--mantine-color-lime-outline-hover: rgba(169, 227, 75, 0.05);--mantine-color-yellow-text: var(--mantine-color-yellow-4);--mantine-color-yellow-filled: var(--mantine-color-yellow-8);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-9);--mantine-color-yellow-light: rgba(250, 176, 5, 0.15);--mantine-color-yellow-light-hover: rgba(250, 176, 5, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-3);--mantine-color-yellow-outline: var(--mantine-color-yellow-4);--mantine-color-yellow-outline-hover: rgba(255, 212, 59, 0.05);--mantine-color-orange-text: var(--mantine-color-orange-4);--mantine-color-orange-filled: var(--mantine-color-orange-8);--mantine-color-orange-filled-hover: var(--mantine-color-orange-9);--mantine-color-orange-light: rgba(253, 126, 20, 0.15);--mantine-color-orange-light-hover: rgba(253, 126, 20, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-3);--mantine-color-orange-outline: var(--mantine-color-orange-4);--mantine-color-orange-outline-hover: rgba(255, 169, 77, 0.05);} #\\:r0\\:--container\[data-mantine-color-scheme="light"\]{--mantine-color-scheme: light;--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-bright: var(--mantine-color-black);--mantine-color-text: #000;--mantine-color-body: #fff;--mantine-color-error: var(--mantine-color-red-6);--mantine-color-placeholder: var(--mantine-color-gray-5);--mantine-color-anchor: var(--mantine-color-blue-6);--mantine-color-default: var(--mantine-color-white);--mantine-color-default-hover: var(--mantine-color-gray-0);--mantine-color-default-color: var(--mantine-color-black);--mantine-color-default-border: var(--mantine-color-gray-4);--mantine-color-dimmed: var(--mantine-color-gray-6);--mantine-color-disabled: var(--mantine-color-gray-2);--mantine-color-disabled-color: var(--mantine-color-gray-5);--mantine-color-disabled-border: var(--mantine-color-gray-3);--mantine-color-dark-text: var(--mantine-color-dark-filled);--mantine-color-dark-filled: var(--mantine-color-dark-6);--mantine-color-dark-filled-hover: var(--mantine-color-dark-7);--mantine-color-dark-light: rgba(46, 46, 46, 0.1);--mantine-color-dark-light-hover: rgba(46, 46, 46, 0.12);--mantine-color-dark-light-color: var(--mantine-color-dark-6);--mantine-color-dark-outline: var(--mantine-color-dark-6);--mantine-color-dark-outline-hover: rgba(46, 46, 46, 0.05);--mantine-color-gray-text: var(--mantine-color-gray-filled);--mantine-color-gray-filled: var(--mantine-color-gray-6);--mantine-color-gray-filled-hover: var(--mantine-color-gray-7);--mantine-color-gray-light: rgba(134, 142, 150, 0.1);--mantine-color-gray-light-hover: rgba(134, 142, 150, 0.12);--mantine-color-gray-light-color: var(--mantine-color-gray-6);--mantine-color-gray-outline: var(--mantine-color-gray-6);--mantine-color-gray-outline-hover: rgba(134, 142, 150, 0.05);--mantine-color-red-text: var(--mantine-color-red-filled);--mantine-color-red-filled: var(--mantine-color-red-6);--mantine-color-red-filled-hover: var(--mantine-color-red-7);--mantine-color-red-light: rgba(250, 82, 82, 0.1);--mantine-color-red-light-hover: rgba(250, 82, 82, 0.12);--mantine-color-red-light-color: var(--mantine-color-red-6);--mantine-color-red-outline: var(--mantine-color-red-6);--mantine-color-red-outline-hover: rgba(250, 82, 82, 0.05);--mantine-color-pink-text: var(--mantine-color-pink-filled);--mantine-color-pink-filled: var(--mantine-color-pink-6);--mantine-color-pink-filled-hover: var(--mantine-color-pink-7);--mantine-color-pink-light: rgba(230, 73, 128, 0.1);--mantine-color-pink-light-hover: rgba(230, 73, 128, 0.12);--mantine-color-pink-light-color: var(--mantine-color-pink-6);--mantine-color-pink-outline: var(--mantine-color-pink-6);--mantine-color-pink-outline-hover: rgba(230, 73, 128, 0.05);--mantine-color-grape-text: var(--mantine-color-grape-filled);--mantine-color-grape-filled: var(--mantine-color-grape-6);--mantine-color-grape-filled-hover: var(--mantine-color-grape-7);--mantine-color-grape-light: rgba(190, 75, 219, 0.1);--mantine-color-grape-light-hover: rgba(190, 75, 219, 0.12);--mantine-color-grape-light-color: var(--mantine-color-grape-6);--mantine-color-grape-outline: var(--mantine-color-grape-6);--mantine-color-grape-outline-hover: rgba(190, 75, 219, 0.05);--mantine-color-violet-text: var(--mantine-color-violet-filled);--mantine-color-violet-filled: var(--mantine-color-violet-6);--mantine-color-violet-filled-hover: var(--mantine-color-violet-7);--mantine-color-violet-light: rgba(121, 80, 242, 0.1);--mantine-color-violet-light-hover: rgba(121, 80, 242, 0.12);--mantine-color-violet-light-color: var(--mantine-color-violet-6);--mantine-color-violet-outline: var(--mantine-color-violet-6);--mantine-color-violet-outline-hover: rgba(121, 80, 242, 0.05);--mantine-color-indigo-text: var(--mantine-color-indigo-filled);--mantine-color-indigo-filled: var(--mantine-color-indigo-6);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-7);--mantine-color-indigo-light: rgba(76, 110, 245, 0.1);--mantine-color-indigo-light-hover: rgba(76, 110, 245, 0.12);--mantine-color-indigo-light-color: var(--mantine-color-indigo-6);--mantine-color-indigo-outline: var(--mantine-color-indigo-6);--mantine-color-indigo-outline-hover: rgba(76, 110, 245, 0.05);--mantine-color-blue-text: var(--mantine-color-blue-filled);--mantine-color-blue-filled: var(--mantine-color-blue-6);--mantine-color-blue-filled-hover: var(--mantine-color-blue-7);--mantine-color-blue-light: rgba(34, 139, 230, 0.1);--mantine-color-blue-light-hover: rgba(34, 139, 230, 0.12);--mantine-color-blue-light-color: var(--mantine-color-blue-6);--mantine-color-blue-outline: var(--mantine-color-blue-6);--mantine-color-blue-outline-hover: rgba(34, 139, 230, 0.05);--mantine-color-cyan-text: var(--mantine-color-cyan-filled);--mantine-color-cyan-filled: var(--mantine-color-cyan-6);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-7);--mantine-color-cyan-light: rgba(21, 170, 191, 0.1);--mantine-color-cyan-light-hover: rgba(21, 170, 191, 0.12);--mantine-color-cyan-light-color: var(--mantine-color-cyan-6);--mantine-color-cyan-outline: var(--mantine-color-cyan-6);--mantine-color-cyan-outline-hover: rgba(21, 170, 191, 0.05);--mantine-color-teal-text: var(--mantine-color-teal-filled);--mantine-color-teal-filled: var(--mantine-color-teal-6);--mantine-color-teal-filled-hover: var(--mantine-color-teal-7);--mantine-color-teal-light: rgba(18, 184, 134, 0.1);--mantine-color-teal-light-hover: rgba(18, 184, 134, 0.12);--mantine-color-teal-light-color: var(--mantine-color-teal-6);--mantine-color-teal-outline: var(--mantine-color-teal-6);--mantine-color-teal-outline-hover: rgba(18, 184, 134, 0.05);--mantine-color-green-text: var(--mantine-color-green-filled);--mantine-color-green-filled: var(--mantine-color-green-6);--mantine-color-green-filled-hover: var(--mantine-color-green-7);--mantine-color-green-light: rgba(64, 192, 87, 0.1);--mantine-color-green-light-hover: rgba(64, 192, 87, 0.12);--mantine-color-green-light-color: var(--mantine-color-green-6);--mantine-color-green-outline: var(--mantine-color-green-6);--mantine-color-green-outline-hover: rgba(64, 192, 87, 0.05);--mantine-color-lime-text: var(--mantine-color-lime-filled);--mantine-color-lime-filled: var(--mantine-color-lime-6);--mantine-color-lime-filled-hover: var(--mantine-color-lime-7);--mantine-color-lime-light: rgba(130, 201, 30, 0.1);--mantine-color-lime-light-hover: rgba(130, 201, 30, 0.12);--mantine-color-lime-light-color: var(--mantine-color-lime-6);--mantine-color-lime-outline: var(--mantine-color-lime-6);--mantine-color-lime-outline-hover: rgba(130, 201, 30, 0.05);--mantine-color-yellow-text: var(--mantine-color-yellow-filled);--mantine-color-yellow-filled: var(--mantine-color-yellow-6);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-7);--mantine-color-yellow-light: rgba(250, 176, 5, 0.1);--mantine-color-yellow-light-hover: rgba(250, 176, 5, 0.12);--mantine-color-yellow-light-color: var(--mantine-color-yellow-6);--mantine-color-yellow-outline: var(--mantine-color-yellow-6);--mantine-color-yellow-outline-hover: rgba(250, 176, 5, 0.05);--mantine-color-orange-text: var(--mantine-color-orange-filled);--mantine-color-orange-filled: var(--mantine-color-orange-6);--mantine-color-orange-filled-hover: var(--mantine-color-orange-7);--mantine-color-orange-light: rgba(253, 126, 20, 0.1);--mantine-color-orange-light-hover: rgba(253, 126, 20, 0.12);--mantine-color-orange-light-color: var(--mantine-color-orange-6);--mantine-color-orange-outline: var(--mantine-color-orange-6);--mantine-color-orange-outline-hover: rgba(253, 126, 20, 0.05);} #\\:r0\\:--container\[data-mantine-color-scheme="dark"\] { --mantine-color-scheme: dark; } #\\:r0\\:--container\[data-mantine-color-scheme="light"\] { --mantine-color-scheme: light; }
43
-
44
- Template
45
-
46
- Template 1Template 2
47
-
48
- You can use the template button to insert predefined content.
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
- export const TemplatesInToolbarExample \= () \=> {
55
- const \[value, setValue\] \= useState(
56
- 'You can use the template button to insert predefined content.',
57
- );
58
- return (
59
- <IressEditor
60
- toolbar\={
61
- <IressEditor.SimpleToolbar\>
62
- <IressPopover
63
- activator\={
64
- <IressButton append\={<IressIcon name\="chevron-down" />}\>
65
- Template </IressButton\>
66
- }
67
- ml\="auto"
68
- type\="menu"
69
- \>
70
- <IressMenu\>
71
- <IressMenuItem onClick\={() \=> setValue('<h1>Template 1</h1>')}\>
72
- Template 1 </IressMenuItem\>
73
- <IressMenuItem onClick\={() \=> setValue('<h2>Template 2</h2>')}\>
74
- Template 2 </IressMenuItem\>
75
- </IressMenu\>
76
- </IressPopover\>
77
- </IressEditor.SimpleToolbar\>
78
- }
79
- value\={value}
80
- />
81
- );
82
- };
83
-
84
- Copy
85
-
86
- On this page
87
-
88
- * [Displaying generated html without the editor](#displaying-generated-html-without-the-editor)
89
- * [Displaying additional buttons in the toolbar](#displaying-additional-buttons-in-the-toolbar)
@@ -1,40 +0,0 @@
1
- [](#accessibility)Accessibility
2
- ===============================
3
-
4
- Accessibility is everyone's responsibility. It ensures that all users, regardless of their abilities or disabilities, can access and interact with our components effectively. This document outlines the key practices for building accessible components we follow within IDS.
5
-
6
- Please note: The default behaviour of our components is to be accessible, but it is the responsibility of the product to ensure that they are used correctly in accessibile context, or any modifications made to them do not compromise accessibility.
7
-
8
- [](#interaction-patterns)Interaction Patterns
9
- ---------------------------------------------
10
-
11
- ### [](#keyboard-navigation)Keyboard Navigation
12
-
13
- * Support standard keyboard shortcuts (Tab, Arrow keys, Enter, Space, Escape)
14
- * Implement proper focus order and visual focus indicators
15
- * Provide keyboard alternatives for mouse-only interactions
16
- * Follow established ARIA patterns for complex widgets
17
-
18
- ### [](#touch-interactions)Touch Interactions
19
-
20
- * Provide adequate touch target sizes (minimum 44px)
21
- * Implement touch-friendly spacing between interactive elements
22
- * Support gesture-based interactions where appropriate
23
- * Ensure consistent behaviour across device types
24
-
25
- ### [](#loading-and-feedback)Loading and Feedback
26
-
27
- * Use appropriate loading patterns based on context:
28
- * **Page**: Full page loading states
29
- * **Component**: Local loading within sections
30
- * **Button**: Inline loading for form submissions
31
- * **Validate**: Server-side validation feedback
32
- * Provide clear success and error feedback
33
- * Use progressive enhancement for better perceived performance
34
-
35
- On this page
36
-
37
- * [Interaction Patterns](#interaction-patterns)
38
- * [Keyboard Navigation](#keyboard-navigation)
39
- * [Touch Interactions](#touch-interactions)
40
- * [Loading and Feedback](#loading-and-feedback)
@@ -1,52 +0,0 @@
1
- [](#using-components-consistently)Using components consistently
2
- ===============================================================
3
-
4
- [](#buttons)Buttons
5
- -------------------
6
-
7
- * **Primary**: Limit to one per view for main call-to-action
8
- * **Secondary**: Use for secondary actions
9
- * **Tertiary**: Extra affordance between secondary actions
10
- * **Link**: Button styled as link (avoid with icon-only content)
11
- * **Danger**: Destructive actions requiring extra confirmation
12
- * **Positive/Negative**: Financial transactions (buy/sell)
13
-
14
- [](#forms)Forms
15
- ---------------
16
-
17
- * Always use `IressField` wrapper for proper label, hint, and error placement
18
- * Provide clear validation feedback with appropriate error messages
19
- * Use consistent input sizing based on expected content length
20
- * Implement proper form state management and accessibility
21
-
22
- [](#navigation)Navigation
23
- -------------------------
24
-
25
- * Use semantic HTML5 navigation elements
26
- * Provide skip links for keyboard users
27
- * Implement proper ARIA labelling for navigation sections
28
- * Ensure consistent navigation patterns across applications
29
-
30
- [](#data-display)Data Display
31
- -----------------------------
32
-
33
- * Use semantic table structures with proper headers
34
- * Provide clear visual hierarchy in data presentations
35
- * Implement consistent sorting and filtering patterns
36
- * Use appropriate loading states for data-heavy components
37
-
38
- [](#modals-and-overlays)Modals and Overlays
39
- -------------------------------------------
40
-
41
- * Reserve modals for critical tasks requiring full attention
42
- * Provide multiple dismissal methods (backdrop, escape key, close button)
43
- * Implement proper focus management and restoration
44
- * Use slideouts for supplementary tasks where underlying content needs visibility
45
-
46
- On this page
47
-
48
- * [Buttons](#buttons)
49
- * [Forms](#forms)
50
- * [Navigation](#navigation)
51
- * [Data Display](#data-display)
52
- * [Modals and Overlays](#modals-and-overlays)
@@ -1,23 +0,0 @@
1
- [](#content)Content
2
- ===================
3
-
4
- [](#microcopy-guidelines)Microcopy Guidelines
5
- ---------------------------------------------
6
-
7
- * Use clear, concise language that matches user mental models
8
- * Provide helpful error messages with actionable guidance
9
- * Implement consistent tone of voice across all interface text
10
- * Use progressive disclosure for complex information
11
-
12
- [](#iconography)Iconography
13
- ---------------------------
14
-
15
- * Use icons consistently with established meanings
16
- * Provide screen reader text for meaningful icons
17
- * Avoid using icons as the sole means of communication
18
- * Maintain consistent icon sizing and alignment
19
-
20
- On this page
21
-
22
- * [Microcopy Guidelines](#microcopy-guidelines)
23
- * [Iconography](#iconography)
@@ -1,74 +0,0 @@
1
- [](#grid)Grid
2
- =============
3
-
4
- The grid is used to evenly place other components across the page to ensure a consistent hierarchy and structure.
5
-
6
- [](#reference)Reference
7
- -----------------------
8
-
9
- Grid size: 12
10
-
11
- 1
12
-
13
- 2
14
-
15
- 3
16
-
17
- 4
18
-
19
- 5
20
-
21
- 6
22
-
23
- 7
24
-
25
- 8
26
-
27
- 9
28
-
29
- 10
30
-
31
- 11
32
-
33
- 12
34
-
35
- * * *
36
-
37
- [](#for-developers)For developers
38
- ---------------------------------
39
-
40
- If you are using the IDS components, you can use `IressContainer`, `IressRow`, and `IressCol` to create a grid layout. These components are designed to work together to create a responsive grid system.
41
-
42
- \[data-radix-scroll-area-viewport\] {
43
- scrollbar-width: none;
44
- -ms-overflow-style: none;
45
- -webkit-overflow-scrolling: touch;
46
- }
47
- \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
48
- display: none;
49
- }
50
- :where(\[data-radix-scroll-area-viewport\]) {
51
- display: flex;
52
- flex-direction: column;
53
- align-items: stretch;
54
- }
55
- :where(\[data-radix-scroll-area-content\]) {
56
- flex-grow: 1;
57
- }
58
-
59
- import { IressContainer, IressRow, IressCol } from '@iress-oss/ids-components';
60
- <IressContainer\>
61
- <IressRow\>
62
- <IressCol span\={8}\>Column 1</IressCol\>
63
- <IressCol span\={4}\>Column 2</IressCol\>
64
- </IressRow\>
65
- </IressContainer\>;
66
-
67
- Copy
68
-
69
- The base grid size is exported as `GRID_SIZE` from the `@iress-oss/ids-components` package, in case you need to reference it in your own code.
70
-
71
- On this page
72
-
73
- * [Reference](#reference)
74
- * [For developers](#for-developers)
@@ -1,19 +0,0 @@
1
- [](#introduction)Introduction
2
- =============================
3
-
4
- The IDS and product design team use the foundations to create a consistent user experience across all Iress products. This includes design principles and guidelines that ensure a cohesive look and feel.
5
-
6
- 1. [Principles](./?path=/docs/foundations-principles--docs)
7
- 2. [Accessibility](./?path=/docs/foundations-accessibility--docs)
8
- 3. [Tokens](./?path=/docs/foundations-tokens-introduction--docs)
9
- 4. [Breakpoints](./?path=/docs/foundations-breakpoints--docs)
10
- 5. [Consistency](./?path=/docs/foundations-consistency--docs)
11
- 6. [Grid](./?path=/docs/foundations-grid--docs)
12
- 7. [Content](./?path=/docs/foundations-content--docs)
13
- 8. [User Experience](./?path=/docs/foundations-user-experience--docs)
14
- 9. [Visual Design](./?path=/docs/foundations-visual-design--docs)
15
- 10. [Z-index (stacking)](./?path=/docs/foundations-z-index-stacking--docs)
16
-
17
- _This document is a living standard. Revisit and revise regularly to reflect evolving needs, technologies, and user expectations._
18
-
19
- On this page
@@ -1,70 +0,0 @@
1
- [](#core-design-principles)Core Design Principles
2
- =================================================
3
-
4
- [](#consistency)Consistency
5
- ---------------------------
6
-
7
- * Maintain brand consistency across all applications and experiences
8
- * Use standardised component naming conventions (all components start with `Iress` prefix)
9
- * Leverage shared design tokens for spacing, colours, typography, and interactive states
10
- * Ensure consistent behaviour patterns across similar components
11
-
12
- [](#accessibility-first)Accessibility First
13
- -------------------------------------------
14
-
15
- * Meet or exceed WCAG 2.1 Level AA Accessibility Guidelines
16
- * Provide proper colour contrast ratios (minimum 4.5:1 for AA, 7:1 for AAA)
17
- * Implement comprehensive keyboard navigation support
18
- * Include screen reader compatibility with appropriate ARIA attributes
19
- * Support focus management and skip navigation patterns
20
- * Document accessibility considerations and requirements
21
-
22
- [](#clarity-and-usability)Clarity and Usability
23
- -----------------------------------------------
24
-
25
- * Prioritise clear visual hierarchy through typography scales and spacing systems
26
- * Use progressive disclosure to manage complexity
27
- * Provide immediate feedback for user actions (loading states, validation, etc.)
28
- * Design for touch-friendly interfaces with adequate target sizes
29
-
30
- [](#developer-experience)Developer Experience
31
- ---------------------------------------------
32
-
33
- * Maintain clean component APIs with predictable prop patterns
34
- * Provide comprehensive documentation with usage examples
35
- * Include common patterns and anti-patterns
36
- * Support both controlled and uncontrolled component patterns
37
- * Enable efficient testing strategies with semantic roles and accessible queries
38
- * Maintain up-to-date prop documentation and type definitions
39
-
40
- [](#quality-assurance)Quality assurance
41
- ---------------------------------------
42
-
43
- * Test components across supported browsers and devices
44
- * Validate accessibility compliance with automated and manual testing
45
- * Ensure proper keyboard navigation functionality
46
- * Test with assistive technologies (screen readers, voice control)
47
-
48
- ### [](#code-standards)Code Standards
49
-
50
- * Follow consistent naming conventions for CSS classes and component props
51
- * Use semantic HTML elements where appropriate
52
- * Implement proper TypeScript typing for better developer experience
53
- * Maintain clean separation between presentation and logic
54
-
55
- ### [](#performance-considerations)Performance Considerations
56
-
57
- * Optimise component rendering and re-rendering
58
- * Implement appropriate code splitting strategies
59
- * Use efficient animation and transition patterns
60
- * Consider bundle size impact of component dependencies
61
-
62
- On this page
63
-
64
- * [Consistency](#consistency)
65
- * [Accessibility First](#accessibility-first)
66
- * [Clarity and Usability](#clarity-and-usability)
67
- * [Developer Experience](#developer-experience)
68
- * [Quality assurance](#quality-assurance)
69
- * [Code Standards](#code-standards)
70
- * [Performance Considerations](#performance-considerations)
@@ -1,193 +0,0 @@
1
- [](#responsive-design)Responsive Design
2
- =======================================
3
-
4
- The Iress Design System (IDS) is built with responsive design principles in mind. This means that our components are designed to adapt to different screen sizes and orientations, ensuring a consistent user experience across devices.
5
-
6
- [](#breakpoints)Breakpoints
7
- ---------------------------
8
-
9
- * Implement mobile-first responsive design
10
- * Use consistent breakpoint values across all components
11
- * Provide appropriate component variants for different screen sizes
12
- * Consider content priority and progressive disclosure on smaller screens
13
-
14
- ### Breakpoints supported by IDS
15
-
16
- | Name | Screen Width | Media Query |
17
- | --- | --- | --- |
18
- | xs | 0 - 575px | (min-width: 0) and (max-width: 575px) |
19
- | sm | 576px - 767px | (min-width: 576px) and (max-width: 767px) |
20
- | md | 768px - 1023px | (min-width: 768px) and (max-width: 1023px) |
21
- | lg | 1024px - 1199px | (min-width: 1024px) and (max-width: 1199px) |
22
- | xl | 1200px - 1499px | (min-width: 1200px) and (max-width: 1499px) |
23
- | xxl | 1500px and above | (min-width: 1500px) |
24
-
25
- [](#adaptive-behaviour)Adaptive Behaviour
26
- -----------------------------------------
27
-
28
- * Reduce option counts on mobile devices where appropriate
29
- * Implement responsive navigation patterns
30
- * Adjust spacing and sizing for different contexts
31
- * Maintain usability across all supported devices
32
-
33
- * * *
34
-
35
- [](#for-developers)For developers
36
- ---------------------------------
37
-
38
- If you are using the IDS components, the breakpoints have already been mapped out to their respective props. You can use props such as `gap` to change the visual properties of the component at certain breakpoints.
39
-
40
- \[data-radix-scroll-area-viewport\] {
41
- scrollbar-width: none;
42
- -ms-overflow-style: none;
43
- -webkit-overflow-scrolling: touch;
44
- }
45
- \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
46
- display: none;
47
- }
48
- :where(\[data-radix-scroll-area-viewport\]) {
49
- display: flex;
50
- flex-direction: column;
51
- align-items: stretch;
52
- }
53
- :where(\[data-radix-scroll-area-content\]) {
54
- flex-grow: 1;
55
- }
56
-
57
- import { IressStack } from '@iress-oss/ids-components';
58
- <IressStack gap\={{ xs: 'spacing.100', md: 'spacing.200' }} />;
59
-
60
- Copy
61
-
62
- ### [](#hooks)Hooks
63
-
64
- #### [](#usebreakpoint)`useBreakpoint`
65
-
66
- We also provide a `useBreakpoint` hook that allows you to access the current breakpoint in your components. This can be useful for conditionally rendering components based on the current screen size.
67
-
68
- **Note:** It is best to use media queries for responsive styling. Most props that require responsive values already support breakpoints which map to CSS values. Only use the `useBreakpoint` hook when there is no other way to achieve the desired responsive behavior.
69
-
70
- \[data-radix-scroll-area-viewport\] {
71
- scrollbar-width: none;
72
- -ms-overflow-style: none;
73
- -webkit-overflow-scrolling: touch;
74
- }
75
- \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
76
- display: none;
77
- }
78
- :where(\[data-radix-scroll-area-viewport\]) {
79
- display: flex;
80
- flex-direction: column;
81
- align-items: stretch;
82
- }
83
- :where(\[data-radix-scroll-area-content\]) {
84
- flex-grow: 1;
85
- }
86
-
87
- import { useBreakpoint } from '@iress-oss/ids-components';
88
- const MyComponent \= () \=> {
89
- const { breakpoint } \= useBreakpoint();
90
- return (
91
- <div\>
92
- {breakpoint \=== 'xs' && <p\>This is extra small screen</p\>}
93
- {breakpoint \=== 'md' && <p\>This is medium screen</p\>}
94
- </div\>
95
- );
96
- };
97
-
98
- Copy
99
-
100
- #### [](#useresponsiveprops)`useResponsiveProps`
101
-
102
- Another hook is `useResponsiveProps`, which allows you to define responsive properties that change based on the current breakpoint. This is particularly useful for completely changing components at various screen sizes.
103
-
104
- **Note:** It is best to use media queries for responsive styling. Most props that require responsive values already support breakpoints which map to CSS values. Only use the `useResponsiveProps` hook when there is no other way to achieve the desired responsive behavior.
105
-
106
- `useResponsiveProps`
107
- --------------------
108
-
109
- This example demonstrates a use case for `useResponsiveProps`, for changing the columns on a table based on the breakpoint.
110
-
111
- Resize the screen to see the columns change
112
-
113
- | Name | Age |
114
- | --- | --- |
115
- | Luke Skywalker | 19 |
116
- | Princess Leia | 19 |
117
- | Han Solo | 32 |
118
-
119
- Hide code
120
-
121
- \[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; }
122
-
123
- export const ResponsiveTableColumns \= () \=> {
124
- const { value } \= useResponsiveProps({
125
- base: \[{ key: 'name', label: 'Name' }\],
126
- lg: \[
127
- { key: 'name', label: 'Name' },
128
- { key: 'age', label: 'Age' },
129
- \],
130
- });
131
- return (
132
- <IressTable
133
- caption\={
134
- <IressText textAlign\="left"\>
135
- <h2\>
136
- <code\>useResponsiveProps</code\>
137
- </h2\>
138
- <p\>
139
- This example demonstrates a use case for{' '}
140
- <code\>useResponsiveProps</code\>, for changing the columns on a table
141
- based on the breakpoint. </p\>
142
- <p\>Resize the screen to see the columns change</p\>
143
- </IressText\>
144
- }
145
- columns\={value}
146
- rows\={\[
147
- { name: 'Luke Skywalker', age: 19 },
148
- { name: 'Princess Leia', age: 19 },
149
- { name: 'Han Solo', age: 32 },
150
- \]}
151
- />
152
- );
153
- };
154
-
155
- Copy
156
-
157
- ### [](#constant)Constant
158
-
159
- You can also use the breakpoints directly in your CSS or styled components. The breakpoints are defined in the `@iress-oss/ids-components` package.
160
-
161
- \[data-radix-scroll-area-viewport\] {
162
- scrollbar-width: none;
163
- -ms-overflow-style: none;
164
- -webkit-overflow-scrolling: touch;
165
- }
166
- \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
167
- display: none;
168
- }
169
- :where(\[data-radix-scroll-area-viewport\]) {
170
- display: flex;
171
- flex-direction: column;
172
- align-items: stretch;
173
- }
174
- :where(\[data-radix-scroll-area-content\]) {
175
- flex-grow: 1;
176
- }
177
-
178
- import { BREAKPOINT\_DETAILS } from '@iress-oss/ids-components';
179
- const css \= \`
180
- @media (${BREAKPOINT\_DETAILS.md.mediaQuery}}) {
181
- .my-class { padding: 20px; } }
182
- \`;
183
- <style\>{css}</style\>;
184
-
185
- Copy
186
-
187
- On this page
188
-
189
- * [Breakpoints](#breakpoints)
190
- * [Adaptive Behaviour](#adaptive-behaviour)
191
- * [For developers](#for-developers)
192
- * [Hooks](#hooks)
193
- * [Constant](#constant)