@iress-oss/ids-mcp-server 0.0.1 → 5.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +201 -0
- package/README.md +29 -159
- package/dist/componentHandlers.js +241 -0
- package/dist/componentHandlers.test.js +380 -0
- package/{build → dist}/config.js +5 -5
- package/dist/index.js +53 -0
- package/{build → dist}/iressHandlers.js +52 -46
- package/dist/iressHandlers.test.js +316 -0
- package/{build → dist}/resourceHandlers.js +23 -22
- package/dist/resourceHandlers.test.js +352 -0
- package/{build → dist}/searchHandlers.js +107 -92
- package/dist/searchHandlers.test.js +524 -0
- package/{build → dist}/toolHandler.js +13 -13
- package/dist/toolHandler.test.js +369 -0
- package/dist/tools.js +165 -0
- package/{build → dist}/utils.js +11 -15
- package/dist/utils.test.js +286 -0
- package/{docs/ids → generated/docs}/components-autocomplete-docs.md +3 -3
- package/{docs/ids → generated/docs}/components-autocomplete-recipes-docs.md +17 -51
- package/{docs/ids → generated/docs}/components-card-recipes-docs.md +1 -1
- package/{docs/ids → generated/docs}/components-checkbox-docs.md +6 -19
- package/{docs/ids → generated/docs}/components-checkboxgroup-docs.md +18 -18
- package/{docs/ids → generated/docs}/components-checkboxgroup-recipes-docs.md +9 -9
- package/{docs/ids → generated/docs}/components-col-docs.md +1 -1
- package/{docs/ids → generated/docs}/components-combobox-docs.md +4 -4
- package/{docs/ids → generated/docs}/components-container-docs.md +8 -42
- package/{docs/ids → generated/docs}/components-filter-docs.md +14 -67
- package/{docs/ids → generated/docs}/components-form-docs.md +341 -335
- package/{docs/ids → generated/docs}/components-form-recipes-docs.md +198 -1
- package/{docs/ids → generated/docs}/components-hide-docs.md +16 -70
- package/{docs/ids → generated/docs}/components-icon-docs.md +4 -4
- package/{docs/ids → generated/docs}/components-input-recipes-docs.md +2 -2
- package/{docs/ids → generated/docs}/components-inputcurrency-recipes-docs.md +6 -40
- package/{docs/ids → generated/docs}/components-modal-docs.md +3 -113
- package/generated/docs/components-popover-docs.md +464 -0
- package/{docs/ids → generated/docs}/components-radiogroup-docs.md +21 -21
- package/{docs/ids → generated/docs}/components-richselect-docs.md +149 -111
- package/{docs/ids → generated/docs}/components-row-docs.md +4 -4
- package/{docs/ids → generated/docs}/components-skeleton-docs.md +3 -3
- package/{docs/ids → generated/docs}/components-skeleton-recipes-docs.md +1 -1
- package/{docs/ids → generated/docs}/components-skiplink-docs.md +1 -1
- package/{docs/ids → generated/docs}/components-slideout-docs.md +3 -113
- package/{docs/ids → generated/docs}/components-table-ag-grid-docs.md +109 -137
- package/{docs/ids → generated/docs}/components-table-docs.md +92 -597
- package/{docs/ids → generated/docs}/components-tabset-docs.md +2 -2
- package/{docs/ids → generated/docs}/components-tag-docs.md +1 -1
- package/{docs/ids → generated/docs}/components-toaster-docs.md +5 -5
- package/{docs/ids → generated/docs}/extensions-editor-docs.md +4 -4
- package/generated/docs/foundations-accessibility-docs.md +62 -0
- package/{docs/ids → generated/docs}/foundations-colours-docs.md +1 -1
- package/generated/docs/foundations-consistency-docs.md +52 -0
- package/generated/docs/foundations-content-docs.md +23 -0
- package/generated/docs/foundations-introduction-docs.md +17 -0
- package/generated/docs/foundations-principles-docs.md +70 -0
- package/{docs/ids → generated/docs}/foundations-typography-docs.md +7 -2
- package/generated/docs/foundations-user-experience-docs.md +63 -0
- package/generated/docs/foundations-visual-design-docs.md +46 -0
- package/{docs/ids → generated/docs}/get-started-develop-docs.md +3 -3
- package/generated/docs/guidelines.md +812 -0
- package/{docs/ids → generated/docs}/introduction-docs.md +4 -4
- package/{docs/ids → generated/docs}/patterns-loading-docs.md +332 -2
- package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +437 -0
- package/generated/docs/themes-available-themes-docs.md +66 -0
- package/generated/docs/themes-tokens-docs.md +1200 -0
- package/generated/docs/versions-docs.md +17 -0
- package/package.json +42 -14
- package/LICENSE +0 -193
- package/build/componentHandlers.js +0 -205
- package/build/index.js +0 -51
- package/build/tools.js +0 -165
- package/docs/api-reference.md +0 -0
- package/docs/best-practices.md +0 -0
- package/docs/configuration.md +0 -0
- package/docs/examples.md +0 -0
- package/docs/guidelines.md +0 -269
- package/docs/ids/components-popover-docs.md +0 -4
- package/docs/ids/resources-migration-guides-from-v4-to-v5-docs.md +0 -639
- package/docs/ids/themes-available-themes-docs.md +0 -74
- package/docs/ids/themes-tokens-docs.md +0 -4580
- package/docs/ids/versions-docs.md +0 -27
- package/docs/tutorials/basic-integration.md +0 -0
- /package/{build → dist}/types.js +0 -0
- /package/{docs/ids → generated/docs}/components-alert-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-badge-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-button-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-button-recipes-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-buttongroup-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-card-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-divider-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-expander-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-field-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-inline-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-input-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-inputcurrency-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-label-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-menu-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-menu-menuitem-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-navbar-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-navbar-recipes-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-panel-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-placeholder-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-popover-recipes-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-progress-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-radio-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-readonly-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-select-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-slider-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-spinner-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-stack-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-tabset-tab-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-text-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-toaster-toast-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-toggle-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-tooltip-docs.md +0 -0
- /package/{docs/ids → generated/docs}/components-validationmessage-docs.md +0 -0
- /package/{docs/ids → generated/docs}/contact-us-docs.md +0 -0
- /package/{docs/ids → generated/docs}/extensions-editor-recipes-docs.md +0 -0
- /package/{docs/ids → generated/docs}/frequently-asked-questions-docs.md +0 -0
- /package/{docs/ids → generated/docs}/get-started-using-storybook-docs.md +0 -0
- /package/{docs/ids → generated/docs}/resources-changelog-docs.md +0 -0
- /package/{docs/ids → generated/docs}/resources-code-katas-docs.md +0 -0
- /package/{docs/ids → generated/docs}/themes-introduction-docs.md +0 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
[](#popover)Popover
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Overview
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
A popover is panel that is toggled on/off by an activator button or text input. The panel is positioned relative to its activator element.
|
|
8
|
+
|
|
9
|
+
Toggle popover
|
|
10
|
+
|
|
11
|
+
A little more information about this area.
|
|
12
|
+
|
|
13
|
+
Hide code
|
|
14
|
+
|
|
15
|
+
\[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; }
|
|
16
|
+
|
|
17
|
+
<IressPopover activator\={<IressButton\>Toggle popover</IressButton\>}\>
|
|
18
|
+
<IressPanel className\="iress-u-text"\>
|
|
19
|
+
A little more information about this area. </IressPanel\>
|
|
20
|
+
</IressPopover\>
|
|
21
|
+
|
|
22
|
+
Copy
|
|
23
|
+
|
|
24
|
+
[](#usage)Usage
|
|
25
|
+
---------------
|
|
26
|
+
|
|
27
|
+
### [](#activator)Activator
|
|
28
|
+
|
|
29
|
+
For the popover to render, the `activator` property is required. It is the element used to trigger the popover, and works best with an `IressButton`.
|
|
30
|
+
|
|
31
|
+
Anything added as the children of the `IressPopover` component will be displayed in the popover panel.
|
|
32
|
+
|
|
33
|
+
Toggle popover
|
|
34
|
+
|
|
35
|
+
A little more information about this area.
|
|
36
|
+
|
|
37
|
+
Hide code
|
|
38
|
+
|
|
39
|
+
\[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; }
|
|
40
|
+
|
|
41
|
+
<IressPopover activator\={<IressButton\>Toggle popover</IressButton\>}\>
|
|
42
|
+
<IressPanel className\="iress-u-text"\>
|
|
43
|
+
A little more information about this area. </IressPanel\>
|
|
44
|
+
</IressPopover\>
|
|
45
|
+
|
|
46
|
+
Copy
|
|
47
|
+
|
|
48
|
+
### [](#the-show-property)The `show` property
|
|
49
|
+
|
|
50
|
+
You can use state to control the popover by setting the `show` property to `true` or `false`. To sync your state with the popover, you can use the `onActivated` and `onDeactivated` prop.
|
|
51
|
+
|
|
52
|
+
Show popover using state
|
|
53
|
+
|
|
54
|
+
A little more information about this area.
|
|
55
|
+
|
|
56
|
+
Hide code
|
|
57
|
+
|
|
58
|
+
\[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; }
|
|
59
|
+
|
|
60
|
+
import {
|
|
61
|
+
IressButton,
|
|
62
|
+
IressPanel,
|
|
63
|
+
IressPopover,
|
|
64
|
+
IressPopoverProps,
|
|
65
|
+
} from '@iress-oss/ids-components';
|
|
66
|
+
import { useState } from 'react';
|
|
67
|
+
export const PopoverUsingState \= () \=> {
|
|
68
|
+
const \[show, setShow\] \= useState(false);
|
|
69
|
+
return (
|
|
70
|
+
<IressPopover
|
|
71
|
+
|
|
72
|
+
activator\={
|
|
73
|
+
<IressButton onClick\={() \=> setShow(!show)}\>
|
|
74
|
+
Show popover using state </IressButton\>
|
|
75
|
+
}
|
|
76
|
+
show\={show}
|
|
77
|
+
onActivated\={() \=> setShow(true)}
|
|
78
|
+
onDeactivated\={() \=> setShow(false)}
|
|
79
|
+
\>
|
|
80
|
+
<IressPanel\>A little more information about this area.</IressPanel\>
|
|
81
|
+
</IressPopover\>
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
Copy
|
|
86
|
+
|
|
87
|
+
[](#behaviour)Behaviour
|
|
88
|
+
-----------------------
|
|
89
|
+
|
|
90
|
+
* The popover is opened when the activator is pressed
|
|
91
|
+
* Once activated, the popover will set focus to popover content
|
|
92
|
+
* When the activator is pressed whilst the popover is open, it will close
|
|
93
|
+
* When the escape key is pressed while it is open, it will close
|
|
94
|
+
* When the popover panel loses focus, it will close
|
|
95
|
+
|
|
96
|
+
[](#examples)Examples
|
|
97
|
+
---------------------
|
|
98
|
+
|
|
99
|
+
### [](#align)Align
|
|
100
|
+
|
|
101
|
+
The popover panel can be aligned in one of 12 positions relative to the activator element. The default value is `auto`.
|
|
102
|
+
|
|
103
|
+
The popover panel's position will change dynamically based on the amount of space available in it's container window, so that it doesn't overflow.
|
|
104
|
+
|
|
105
|
+
top-start
|
|
106
|
+
|
|
107
|
+
Hello!
|
|
108
|
+
|
|
109
|
+
top
|
|
110
|
+
|
|
111
|
+
Hello!
|
|
112
|
+
|
|
113
|
+
top-end
|
|
114
|
+
|
|
115
|
+
Hello!
|
|
116
|
+
|
|
117
|
+
left-start
|
|
118
|
+
|
|
119
|
+
Hello!
|
|
120
|
+
|
|
121
|
+
left
|
|
122
|
+
|
|
123
|
+
Hello!
|
|
124
|
+
|
|
125
|
+
left-end
|
|
126
|
+
|
|
127
|
+
Hello!
|
|
128
|
+
|
|
129
|
+
right-start
|
|
130
|
+
|
|
131
|
+
Hello!
|
|
132
|
+
|
|
133
|
+
right
|
|
134
|
+
|
|
135
|
+
Hello!
|
|
136
|
+
|
|
137
|
+
right-end
|
|
138
|
+
|
|
139
|
+
Hello!
|
|
140
|
+
|
|
141
|
+
bottom-start
|
|
142
|
+
|
|
143
|
+
Hello!
|
|
144
|
+
|
|
145
|
+
bottom
|
|
146
|
+
|
|
147
|
+
Hello!
|
|
148
|
+
|
|
149
|
+
bottom-end
|
|
150
|
+
|
|
151
|
+
Hello!
|
|
152
|
+
|
|
153
|
+
Hide code
|
|
154
|
+
|
|
155
|
+
\[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; }
|
|
156
|
+
|
|
157
|
+
<div
|
|
158
|
+
style\={{
|
|
159
|
+
padding: '80px 150px'
|
|
160
|
+
}}
|
|
161
|
+
\>
|
|
162
|
+
<IressStack gutter\="md"\>
|
|
163
|
+
<IressInline
|
|
164
|
+
gutter\="sm"
|
|
165
|
+
horizontalAlign\="center"
|
|
166
|
+
\>
|
|
167
|
+
<IressPopover
|
|
168
|
+
activator\={<IressTooltip align\="bottom-start" tooltipText\="Tooltips and popovers can go together if needed!"\><IressButton\>top-start</IressButton\></IressTooltip\>}
|
|
169
|
+
align\="top-start"
|
|
170
|
+
\>
|
|
171
|
+
<IressPanel className\="iress-u-text"\>
|
|
172
|
+
Hello! </IressPanel\>
|
|
173
|
+
</IressPopover\>
|
|
174
|
+
<IressPopover
|
|
175
|
+
activator\={<IressButton\>top</IressButton\>}
|
|
176
|
+
align\="top"
|
|
177
|
+
\>
|
|
178
|
+
<IressPanel className\="iress-u-text"\>
|
|
179
|
+
Hello! </IressPanel\>
|
|
180
|
+
</IressPopover\>
|
|
181
|
+
<IressPopover
|
|
182
|
+
activator\={<IressButton\>top-end</IressButton\>}
|
|
183
|
+
align\="top-end"
|
|
184
|
+
\>
|
|
185
|
+
<IressPanel className\="iress-u-text"\>
|
|
186
|
+
Hello! </IressPanel\>
|
|
187
|
+
</IressPopover\>
|
|
188
|
+
</IressInline\>
|
|
189
|
+
<IressInline horizontalAlign\="between"\>
|
|
190
|
+
<IressStack gutter\="sm"\>
|
|
191
|
+
<IressInline horizontalAlign\="left"\>
|
|
192
|
+
<IressPopover
|
|
193
|
+
activator\={<IressButton\>left-start</IressButton\>}
|
|
194
|
+
align\="left-start"
|
|
195
|
+
\>
|
|
196
|
+
<IressPanel className\="iress-u-text"\>
|
|
197
|
+
Hello! </IressPanel\>
|
|
198
|
+
</IressPopover\>
|
|
199
|
+
</IressInline\>
|
|
200
|
+
<IressInline horizontalAlign\="left"\>
|
|
201
|
+
<IressPopover
|
|
202
|
+
activator\={<IressButton\>left</IressButton\>}
|
|
203
|
+
align\="left"
|
|
204
|
+
\>
|
|
205
|
+
<IressPanel className\="iress-u-text"\>
|
|
206
|
+
Hello! </IressPanel\>
|
|
207
|
+
</IressPopover\>
|
|
208
|
+
</IressInline\>
|
|
209
|
+
<IressInline horizontalAlign\="left"\>
|
|
210
|
+
<IressPopover
|
|
211
|
+
activator\={<IressButton\>left-end</IressButton\>}
|
|
212
|
+
align\="left-end"
|
|
213
|
+
\>
|
|
214
|
+
<IressPanel className\="iress-u-text"\>
|
|
215
|
+
Hello! </IressPanel\>
|
|
216
|
+
</IressPopover\>
|
|
217
|
+
</IressInline\>
|
|
218
|
+
</IressStack\>
|
|
219
|
+
<IressStack gutter\="sm"\>
|
|
220
|
+
<IressInline horizontalAlign\="right"\>
|
|
221
|
+
<IressPopover
|
|
222
|
+
activator\={<IressButton\>right-start</IressButton\>}
|
|
223
|
+
align\="right-start"
|
|
224
|
+
\>
|
|
225
|
+
<IressPanel className\="iress-u-text"\>
|
|
226
|
+
Hello! </IressPanel\>
|
|
227
|
+
</IressPopover\>
|
|
228
|
+
</IressInline\>
|
|
229
|
+
<IressInline horizontalAlign\="right"\>
|
|
230
|
+
<IressPopover
|
|
231
|
+
activator\={<IressButton\>right</IressButton\>}
|
|
232
|
+
align\="right"
|
|
233
|
+
\>
|
|
234
|
+
<IressPanel className\="iress-u-text"\>
|
|
235
|
+
Hello! </IressPanel\>
|
|
236
|
+
</IressPopover\>
|
|
237
|
+
</IressInline\>
|
|
238
|
+
<IressInline horizontalAlign\="right"\>
|
|
239
|
+
<IressPopover
|
|
240
|
+
activator\={<IressButton\>right-end</IressButton\>}
|
|
241
|
+
align\="right-end"
|
|
242
|
+
\>
|
|
243
|
+
<IressPanel className\="iress-u-text"\>
|
|
244
|
+
Hello! </IressPanel\>
|
|
245
|
+
</IressPopover\>
|
|
246
|
+
</IressInline\>
|
|
247
|
+
</IressStack\>
|
|
248
|
+
</IressInline\>
|
|
249
|
+
<IressInline
|
|
250
|
+
gutter\="sm"
|
|
251
|
+
horizontalAlign\="center"
|
|
252
|
+
\>
|
|
253
|
+
<IressPopover
|
|
254
|
+
activator\={<IressButton\>bottom-start</IressButton\>}
|
|
255
|
+
align\="bottom-start"
|
|
256
|
+
\>
|
|
257
|
+
<IressPanel className\="iress-u-text"\>
|
|
258
|
+
Hello! </IressPanel\>
|
|
259
|
+
</IressPopover\>
|
|
260
|
+
<IressPopover
|
|
261
|
+
activator\={<IressButton\>bottom</IressButton\>}
|
|
262
|
+
align\="bottom"
|
|
263
|
+
\>
|
|
264
|
+
<IressPanel className\="iress-u-text"\>
|
|
265
|
+
Hello! </IressPanel\>
|
|
266
|
+
</IressPopover\>
|
|
267
|
+
<IressPopover
|
|
268
|
+
activator\={<IressButton\>bottom-end</IressButton\>}
|
|
269
|
+
align\="bottom-end"
|
|
270
|
+
\>
|
|
271
|
+
<IressPanel className\="iress-u-text"\>
|
|
272
|
+
Hello! </IressPanel\>
|
|
273
|
+
</IressPopover\>
|
|
274
|
+
</IressInline\>
|
|
275
|
+
</IressStack\>
|
|
276
|
+
</div\>
|
|
277
|
+
|
|
278
|
+
Copy
|
|
279
|
+
|
|
280
|
+
### [](#width)Width
|
|
281
|
+
|
|
282
|
+
Occasionally, you may have more information to display than the width set by the theme can comfortably show.
|
|
283
|
+
|
|
284
|
+
This is where the `--iress-width` CSS token come in, it will allow you to set the width for the popover panel. For better results, its recommended to use it with the `--iress-max-width` CSS token, to allow your popovers to be responsive.
|
|
285
|
+
|
|
286
|
+
**Note:** The `width` prop has been deprecated in favour of the CSS tokens.
|
|
287
|
+
|
|
288
|
+
Toggle popover
|
|
289
|
+
|
|
290
|
+
Hide code
|
|
291
|
+
|
|
292
|
+
\[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; }
|
|
293
|
+
|
|
294
|
+
<IressPopover
|
|
295
|
+
activator\={<IressButton\>Toggle popover</IressButton\>}
|
|
296
|
+
container\={document.body}
|
|
297
|
+
style\={{
|
|
298
|
+
'--iress-max-width': '30rem',
|
|
299
|
+
'--iress-width': '100%'
|
|
300
|
+
}}
|
|
301
|
+
\>
|
|
302
|
+
<IressPanel\>
|
|
303
|
+
<IressRow\>
|
|
304
|
+
<IressCol span\={6}\>
|
|
305
|
+
<IressText\>
|
|
306
|
+
Client </IressText\>
|
|
307
|
+
<IressText noGutter\>
|
|
308
|
+
<ul\>
|
|
309
|
+
<li\>
|
|
310
|
+
Entity id 582323 </li\>
|
|
311
|
+
<li\>
|
|
312
|
+
Fruit Apple </li\>
|
|
313
|
+
<li\>
|
|
314
|
+
Preferred email mamaduke@gmail.com </li\>
|
|
315
|
+
</ul\>
|
|
316
|
+
</IressText\>
|
|
317
|
+
</IressCol\>
|
|
318
|
+
<IressCol span\={6}\>
|
|
319
|
+
<IressText\>
|
|
320
|
+
Client </IressText\>
|
|
321
|
+
<IressText noGutter\>
|
|
322
|
+
<ul\>
|
|
323
|
+
<li\>
|
|
324
|
+
Entity id 8766 </li\>
|
|
325
|
+
<li\>
|
|
326
|
+
Fruit Orange </li\>
|
|
327
|
+
<li\>
|
|
328
|
+
Preferred email felicity@yahoo.com </li\>
|
|
329
|
+
</ul\>
|
|
330
|
+
</IressText\>
|
|
331
|
+
</IressCol\>
|
|
332
|
+
</IressRow\>
|
|
333
|
+
</IressPanel\>
|
|
334
|
+
</IressPopover\>
|
|
335
|
+
|
|
336
|
+
Copy
|
|
337
|
+
|
|
338
|
+
### [](#overflow)Overflow
|
|
339
|
+
|
|
340
|
+
Popovers can contain a wide variety of different content, including components that use popovers themselves (like Combobox). This can cause issues with overflowing content, so by default we allow popovers to grow in height based on their content.
|
|
341
|
+
|
|
342
|
+
If you need to fix the height of a popover, you can set a maximum height using the `--iress-max-height` theme token on your popover. You'll also need to change the overflow behaviour by setting the `--iress-overflow-y` theme token:
|
|
343
|
+
|
|
344
|
+
Normal popover
|
|
345
|
+
|
|
346
|
+
Fixed height popover
|
|
347
|
+
|
|
348
|
+
Hide code
|
|
349
|
+
|
|
350
|
+
\[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; }
|
|
351
|
+
|
|
352
|
+
<IressInline gutter\="md"\>
|
|
353
|
+
<IressPopover
|
|
354
|
+
activator\={<IressButton\>Normal popover</IressButton\>}
|
|
355
|
+
align\="bottom-start"
|
|
356
|
+
container\={document.body}
|
|
357
|
+
\>
|
|
358
|
+
<IressPanel\>
|
|
359
|
+
<IressText noGutter\>
|
|
360
|
+
<p\>
|
|
361
|
+
His head is gone, it is like it is been erased... Erased from existence. That was the day I invented time travel. I remember it vividly. I was standing on the edge of my toilet hanging a clock, the porces was wet, I slipped, hit my head on the edge of the sink. And when I came to I had a revelation, a picture, a picture in my head, a picture of this. This is what makes time travel possible. The flux capacitor. </p\>
|
|
362
|
+
</IressText\>
|
|
363
|
+
</IressPanel\>
|
|
364
|
+
</IressPopover\>
|
|
365
|
+
<IressPopover
|
|
366
|
+
activator\={<IressButton\>Fixed height popover</IressButton\>}
|
|
367
|
+
align\="bottom-start"
|
|
368
|
+
container\={document.body}
|
|
369
|
+
style\={{
|
|
370
|
+
'--iress-max-height': '200px',
|
|
371
|
+
'--iress-overflow-y': 'auto'
|
|
372
|
+
}}
|
|
373
|
+
\>
|
|
374
|
+
<IressPanel\>
|
|
375
|
+
<IressText noGutter\>
|
|
376
|
+
<p\>
|
|
377
|
+
His head is gone, it is like it is been erased... Erased from existence. That was the day I invented time travel. I remember it vividly. I was standing on the edge of my toilet hanging a clock, the porces was wet, I slipped, hit my head on the edge of the sink. And when I came to I had a revelation, a picture, a picture in my head, a picture of this. This is what makes time travel possible. The flux capacitor. </p\>
|
|
378
|
+
</IressText\>
|
|
379
|
+
</IressPanel\>
|
|
380
|
+
</IressPopover\>
|
|
381
|
+
</IressInline\>
|
|
382
|
+
|
|
383
|
+
Copy
|
|
384
|
+
|
|
385
|
+
### [](#container)Container
|
|
386
|
+
|
|
387
|
+
By default, the popover will be rendered where its parent is rendered. If you need to render the popover in a different container, you can use the `container` prop.
|
|
388
|
+
|
|
389
|
+
**Note:** If the `container` doesn’t exist when the portal is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available.
|
|
390
|
+
|
|
391
|
+
This will be the case when you are rendering into its parent container, which is not yet rendered when the popover is mounted. The example below shows how to use state instead of a reference to change where the popover is rendered.
|
|
392
|
+
|
|
393
|
+
Toggle
|
|
394
|
+
|
|
395
|
+
This content will be rendered in the parent container
|
|
396
|
+
|
|
397
|
+
Hide code
|
|
398
|
+
|
|
399
|
+
\[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; }
|
|
400
|
+
|
|
401
|
+
export const PopoverParentContainer \= () \=> {
|
|
402
|
+
const \[parentContainer, setParentContainer\] \= useState<HTMLDivElement | null\>(
|
|
403
|
+
null,
|
|
404
|
+
);
|
|
405
|
+
return (
|
|
406
|
+
<div id\="parent" ref\={setParentContainer}\>
|
|
407
|
+
<IressPopover
|
|
408
|
+
activator\={<IressButton\>Toggle</IressButton\>}
|
|
409
|
+
container\={parentContainer}
|
|
410
|
+
\>
|
|
411
|
+
<IressPanel\>
|
|
412
|
+
This content will be rendered in the parent container </IressPanel\>
|
|
413
|
+
</IressPopover\>
|
|
414
|
+
</div\>
|
|
415
|
+
);
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
Copy
|
|
419
|
+
|
|
420
|
+
[](#iressinputpopover)`IressInputPopover`
|
|
421
|
+
-----------------------------------------
|
|
422
|
+
|
|
423
|
+
If you need a popover that is triggered by input changes, you can use the `IressInputPopover` component. This component has an additional `minLength` prop that allows you to specify the minimum number of characters required before the popover is shown.
|
|
424
|
+
|
|
425
|
+
### [](#behaviour-1)Behaviour
|
|
426
|
+
|
|
427
|
+
Input popovers work slightly different to normal popovers, where the focus inside the popover is **virtual**. This means that the popover content will act as if it is in focus, but the input will still be the actual focus.
|
|
428
|
+
|
|
429
|
+
* The popover is opened when the input has content that meets the `minLength` requirement
|
|
430
|
+
* The popover is closed when the input no longer meets the `minLength` requirement
|
|
431
|
+
* Once activated, virtual focus will be set to the popover content if it contains a menu (e.g. items will highlight as if in focus, but the user can still type in the input)
|
|
432
|
+
* When the `minLength` is 0, it will open on focus
|
|
433
|
+
* When the escape key is pressed while it is open, it will close
|
|
434
|
+
* When the input loses focus, it will close
|
|
435
|
+
|
|
436
|
+
Hide code
|
|
437
|
+
|
|
438
|
+
\[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; }
|
|
439
|
+
|
|
440
|
+
<IressInputPopover
|
|
441
|
+
activator\={<IressInput />}
|
|
442
|
+
container\={document.body}
|
|
443
|
+
\>
|
|
444
|
+
<IressPanel className\="iress-u-text"\>
|
|
445
|
+
A little more information about this area. </IressPanel\>
|
|
446
|
+
</IressInputPopover\>
|
|
447
|
+
|
|
448
|
+
Copy
|
|
449
|
+
|
|
450
|
+
On this page
|
|
451
|
+
|
|
452
|
+
* [Overview](#overview)
|
|
453
|
+
* [Props](#props)
|
|
454
|
+
* [Usage](#usage)
|
|
455
|
+
* [Activator](#activator)
|
|
456
|
+
* [The show property](#the-show-property)
|
|
457
|
+
* [Behaviour](#behaviour)
|
|
458
|
+
* [Examples](#examples)
|
|
459
|
+
* [Align](#align)
|
|
460
|
+
* [Width](#width)
|
|
461
|
+
* [Overflow](#overflow)
|
|
462
|
+
* [Container](#container)
|
|
463
|
+
* [IressInputPopover](#iressinputpopover)
|
|
464
|
+
* [Behaviour](#behaviour-1)
|
|
@@ -171,22 +171,22 @@ Hide code
|
|
|
171
171
|
stack </h3\>
|
|
172
172
|
<IressRadioGroup layout\="stack"\>
|
|
173
173
|
<IressRadio
|
|
174
|
-
className\="ids-styles--add-border-
|
|
174
|
+
className\="ids-styles--add-border-v5142"
|
|
175
175
|
value\="google"
|
|
176
176
|
\>
|
|
177
177
|
Google </IressRadio\>
|
|
178
178
|
<IressRadio
|
|
179
|
-
className\="ids-styles--add-border-
|
|
179
|
+
className\="ids-styles--add-border-v5142"
|
|
180
180
|
value\="newspaper"
|
|
181
181
|
\>
|
|
182
182
|
Newspaper </IressRadio\>
|
|
183
183
|
<IressRadio
|
|
184
|
-
className\="ids-styles--add-border-
|
|
184
|
+
className\="ids-styles--add-border-v5142"
|
|
185
185
|
value\="friend"
|
|
186
186
|
\>
|
|
187
187
|
Friend </IressRadio\>
|
|
188
188
|
<IressRadio
|
|
189
|
-
className\="ids-styles--add-border-
|
|
189
|
+
className\="ids-styles--add-border-v5142"
|
|
190
190
|
value\="other"
|
|
191
191
|
\>
|
|
192
192
|
Other </IressRadio\>
|
|
@@ -197,22 +197,22 @@ Hide code
|
|
|
197
197
|
block </h3\>
|
|
198
198
|
<IressRadioGroup layout\="block"\>
|
|
199
199
|
<IressRadio
|
|
200
|
-
className\="ids-styles--add-border-
|
|
200
|
+
className\="ids-styles--add-border-v5142"
|
|
201
201
|
value\="google"
|
|
202
202
|
\>
|
|
203
203
|
Google </IressRadio\>
|
|
204
204
|
<IressRadio
|
|
205
|
-
className\="ids-styles--add-border-
|
|
205
|
+
className\="ids-styles--add-border-v5142"
|
|
206
206
|
value\="newspaper"
|
|
207
207
|
\>
|
|
208
208
|
Newspaper </IressRadio\>
|
|
209
209
|
<IressRadio
|
|
210
|
-
className\="ids-styles--add-border-
|
|
210
|
+
className\="ids-styles--add-border-v5142"
|
|
211
211
|
value\="friend"
|
|
212
212
|
\>
|
|
213
213
|
Friend </IressRadio\>
|
|
214
214
|
<IressRadio
|
|
215
|
-
className\="ids-styles--add-border-
|
|
215
|
+
className\="ids-styles--add-border-v5142"
|
|
216
216
|
value\="other"
|
|
217
217
|
\>
|
|
218
218
|
Other </IressRadio\>
|
|
@@ -223,22 +223,22 @@ Hide code
|
|
|
223
223
|
inline </h3\>
|
|
224
224
|
<IressRadioGroup layout\="inline"\>
|
|
225
225
|
<IressRadio
|
|
226
|
-
className\="ids-styles--add-border-
|
|
226
|
+
className\="ids-styles--add-border-v5142"
|
|
227
227
|
value\="google"
|
|
228
228
|
\>
|
|
229
229
|
Google </IressRadio\>
|
|
230
230
|
<IressRadio
|
|
231
|
-
className\="ids-styles--add-border-
|
|
231
|
+
className\="ids-styles--add-border-v5142"
|
|
232
232
|
value\="newspaper"
|
|
233
233
|
\>
|
|
234
234
|
Newspaper </IressRadio\>
|
|
235
235
|
<IressRadio
|
|
236
|
-
className\="ids-styles--add-border-
|
|
236
|
+
className\="ids-styles--add-border-v5142"
|
|
237
237
|
value\="friend"
|
|
238
238
|
\>
|
|
239
239
|
Friend </IressRadio\>
|
|
240
240
|
<IressRadio
|
|
241
|
-
className\="ids-styles--add-border-
|
|
241
|
+
className\="ids-styles--add-border-v5142"
|
|
242
242
|
value\="other"
|
|
243
243
|
\>
|
|
244
244
|
Other </IressRadio\>
|
|
@@ -249,22 +249,22 @@ Hide code
|
|
|
249
249
|
inlineFlex </h3\>
|
|
250
250
|
<IressRadioGroup layout\="inlineFlex"\>
|
|
251
251
|
<IressRadio
|
|
252
|
-
className\="ids-styles--add-border-
|
|
252
|
+
className\="ids-styles--add-border-v5142"
|
|
253
253
|
value\="google"
|
|
254
254
|
\>
|
|
255
255
|
Google </IressRadio\>
|
|
256
256
|
<IressRadio
|
|
257
|
-
className\="ids-styles--add-border-
|
|
257
|
+
className\="ids-styles--add-border-v5142"
|
|
258
258
|
value\="newspaper"
|
|
259
259
|
\>
|
|
260
260
|
Newspaper </IressRadio\>
|
|
261
261
|
<IressRadio
|
|
262
|
-
className\="ids-styles--add-border-
|
|
262
|
+
className\="ids-styles--add-border-v5142"
|
|
263
263
|
value\="friend"
|
|
264
264
|
\>
|
|
265
265
|
Friend </IressRadio\>
|
|
266
266
|
<IressRadio
|
|
267
|
-
className\="ids-styles--add-border-
|
|
267
|
+
className\="ids-styles--add-border-v5142"
|
|
268
268
|
value\="other"
|
|
269
269
|
\>
|
|
270
270
|
Other </IressRadio\>
|
|
@@ -275,22 +275,22 @@ Hide code
|
|
|
275
275
|
inlineEqualWidth </h3\>
|
|
276
276
|
<IressRadioGroup layout\="inlineEqualWidth"\>
|
|
277
277
|
<IressRadio
|
|
278
|
-
className\="ids-styles--add-border-
|
|
278
|
+
className\="ids-styles--add-border-v5142"
|
|
279
279
|
value\="google"
|
|
280
280
|
\>
|
|
281
281
|
Google </IressRadio\>
|
|
282
282
|
<IressRadio
|
|
283
|
-
className\="ids-styles--add-border-
|
|
283
|
+
className\="ids-styles--add-border-v5142"
|
|
284
284
|
value\="newspaper"
|
|
285
285
|
\>
|
|
286
286
|
Newspaper </IressRadio\>
|
|
287
287
|
<IressRadio
|
|
288
|
-
className\="ids-styles--add-border-
|
|
288
|
+
className\="ids-styles--add-border-v5142"
|
|
289
289
|
value\="friend"
|
|
290
290
|
\>
|
|
291
291
|
Friend </IressRadio\>
|
|
292
292
|
<IressRadio
|
|
293
|
-
className\="ids-styles--add-border-
|
|
293
|
+
className\="ids-styles--add-border-v5142"
|
|
294
294
|
value\="other"
|
|
295
295
|
\>
|
|
296
296
|
Other </IressRadio\>
|
|
@@ -441,7 +441,7 @@ Hide code
|
|
|
441
441
|
}}
|
|
442
442
|
\>
|
|
443
443
|
<div
|
|
444
|
-
className\="ids-styles--resizable-
|
|
444
|
+
className\="ids-styles--resizable-v5142"
|
|
445
445
|
style\={{
|
|
446
446
|
display: 'grid',
|
|
447
447
|
gridAutoRows: '1fr',
|