@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.
- package/dist/searchHandlers.test.js +8 -2
- package/dist/toolHandler.test.js +9 -9
- package/dist/utils.test.js +6 -2
- package/package.json +32 -30
- package/generated/docs/components-alert-docs.md +0 -702
- package/generated/docs/components-autocomplete-docs.md +0 -1433
- package/generated/docs/components-autocomplete-recipes-docs.md +0 -104
- package/generated/docs/components-badge-docs.md +0 -531
- package/generated/docs/components-button-docs.md +0 -1442
- package/generated/docs/components-buttongroup-docs.md +0 -748
- package/generated/docs/components-card-docs.md +0 -944
- package/generated/docs/components-checkbox-docs.md +0 -694
- package/generated/docs/components-checkboxgroup-docs.md +0 -1087
- package/generated/docs/components-checkboxgroup-recipes-docs.md +0 -119
- package/generated/docs/components-col-docs.md +0 -881
- package/generated/docs/components-container-docs.md +0 -123
- package/generated/docs/components-divider-docs.md +0 -576
- package/generated/docs/components-expander-docs.md +0 -594
- package/generated/docs/components-field-docs.md +0 -2007
- package/generated/docs/components-filter-docs.md +0 -1322
- package/generated/docs/components-hide-docs.md +0 -702
- package/generated/docs/components-icon-docs.md +0 -816
- package/generated/docs/components-image-docs.md +0 -493
- package/generated/docs/components-inline-docs.md +0 -2003
- package/generated/docs/components-input-docs.md +0 -867
- package/generated/docs/components-input-recipes-docs.md +0 -140
- package/generated/docs/components-inputcurrency-docs.md +0 -689
- package/generated/docs/components-inputcurrency-recipes-docs.md +0 -115
- package/generated/docs/components-introduction-docs.md +0 -450
- package/generated/docs/components-label-docs.md +0 -562
- package/generated/docs/components-link-docs.md +0 -586
- package/generated/docs/components-menu-docs.md +0 -1146
- package/generated/docs/components-menu-menuitem-docs.md +0 -739
- package/generated/docs/components-modal-docs.md +0 -1346
- package/generated/docs/components-panel-docs.md +0 -600
- package/generated/docs/components-placeholder-docs.md +0 -446
- package/generated/docs/components-popover-docs.md +0 -1529
- package/generated/docs/components-popover-recipes-docs.md +0 -211
- package/generated/docs/components-progress-docs.md +0 -568
- package/generated/docs/components-provider-docs.md +0 -160
- package/generated/docs/components-radio-docs.md +0 -563
- package/generated/docs/components-radiogroup-docs.md +0 -1153
- package/generated/docs/components-readonly-docs.md +0 -535
- package/generated/docs/components-richselect-docs.md +0 -5836
- package/generated/docs/components-row-docs.md +0 -2354
- package/generated/docs/components-select-docs.md +0 -940
- package/generated/docs/components-skeleton-docs.md +0 -597
- package/generated/docs/components-skeleton-recipes-docs.md +0 -76
- package/generated/docs/components-skiplink-docs.md +0 -587
- package/generated/docs/components-slideout-docs.md +0 -1036
- package/generated/docs/components-slider-docs.md +0 -828
- package/generated/docs/components-spinner-docs.md +0 -450
- package/generated/docs/components-stack-docs.md +0 -923
- package/generated/docs/components-table-ag-grid-docs.md +0 -1444
- package/generated/docs/components-table-docs.md +0 -2327
- package/generated/docs/components-tabset-docs.md +0 -768
- package/generated/docs/components-tabset-tab-docs.md +0 -550
- package/generated/docs/components-tag-docs.md +0 -548
- package/generated/docs/components-text-docs.md +0 -585
- package/generated/docs/components-toaster-docs.md +0 -755
- package/generated/docs/components-toggle-docs.md +0 -614
- package/generated/docs/components-tooltip-docs.md +0 -747
- package/generated/docs/components-validationmessage-docs.md +0 -1161
- package/generated/docs/contact-us-docs.md +0 -27
- package/generated/docs/extensions-editor-docs.md +0 -1181
- package/generated/docs/extensions-editor-recipes-docs.md +0 -89
- package/generated/docs/foundations-accessibility-docs.md +0 -40
- package/generated/docs/foundations-consistency-docs.md +0 -52
- package/generated/docs/foundations-content-docs.md +0 -23
- package/generated/docs/foundations-grid-docs.md +0 -74
- package/generated/docs/foundations-introduction-docs.md +0 -19
- package/generated/docs/foundations-principles-docs.md +0 -70
- package/generated/docs/foundations-responsive-breakpoints-docs.md +0 -193
- package/generated/docs/foundations-tokens-colour-docs.md +0 -564
- package/generated/docs/foundations-tokens-elevation-docs.md +0 -155
- package/generated/docs/foundations-tokens-introduction-docs.md +0 -190
- package/generated/docs/foundations-tokens-radius-docs.md +0 -71
- package/generated/docs/foundations-tokens-spacing-docs.md +0 -89
- package/generated/docs/foundations-tokens-typography-docs.md +0 -322
- package/generated/docs/foundations-user-experience-docs.md +0 -63
- package/generated/docs/foundations-visual-design-docs.md +0 -46
- package/generated/docs/foundations-z-index-stacking-docs.md +0 -31
- package/generated/docs/frequently-asked-questions-docs.md +0 -53
- package/generated/docs/get-started-develop-docs.md +0 -209
- package/generated/docs/get-started-using-storybook-docs.md +0 -68
- package/generated/docs/guidelines.md +0 -2054
- package/generated/docs/introduction-docs.md +0 -87
- package/generated/docs/news-version-6-docs.md +0 -93
- package/generated/docs/patterns-form-docs.md +0 -3902
- package/generated/docs/patterns-form-recipes-docs.md +0 -1370
- package/generated/docs/patterns-introduction-docs.md +0 -24
- package/generated/docs/patterns-loading-docs.md +0 -4043
- package/generated/docs/resources-code-katas-docs.md +0 -29
- package/generated/docs/resources-introduction-docs.md +0 -38
- package/generated/docs/resources-mcp-server-docs.md +0 -27
- package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +0 -437
- package/generated/docs/styling-props-colour-docs.md +0 -172
- package/generated/docs/styling-props-elevation-docs.md +0 -88
- package/generated/docs/styling-props-radius-docs.md +0 -86
- package/generated/docs/styling-props-reference-docs.md +0 -160
- package/generated/docs/styling-props-screen-readers-docs.md +0 -71
- package/generated/docs/styling-props-sizing-docs.md +0 -627
- package/generated/docs/styling-props-spacing-docs.md +0 -2282
- package/generated/docs/styling-props-typography-docs.md +0 -121
- package/generated/docs/themes-available-themes-docs.md +0 -66
- package/generated/docs/themes-introduction-docs.md +0 -121
- package/generated/docs/versions-docs.md +0 -17
- /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 </li> <li> Use markdown as shortcuts to format text (give it a try, write \*\*bold\*\* and it will bold the text) </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)
|