@iress-oss/ids-mcp-server 6.0.0-alpha.1-canary-20251204032753-fe18cab → 6.0.0-alpha.1-canary-20251204040305-3639454
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/generated/docs/components_components-alert-docs.md +1054 -0
- package/generated/docs/components_components-autocomplete-docs.md +3304 -0
- package/generated/docs/components_components-autocomplete-recipes-docs.md +98 -0
- package/generated/docs/components_components-badge-docs.md +312 -0
- package/generated/docs/components_components-button-docs.md +2339 -0
- package/generated/docs/components_components-buttongroup-docs.md +980 -0
- package/generated/docs/components_components-card-docs.md +1970 -0
- package/generated/docs/components_components-checkbox-docs.md +1083 -0
- package/generated/docs/components_components-checkboxgroup-docs.md +1597 -0
- package/generated/docs/components_components-checkboxgroup-recipes-docs.md +209 -0
- package/generated/docs/components_components-col-docs.md +755 -0
- package/generated/docs/components_components-container-docs.md +172 -0
- package/generated/docs/components_components-divider-docs.md +235 -0
- package/generated/docs/components_components-expander-docs.md +428 -0
- package/generated/docs/components_components-field-docs.md +3345 -0
- package/generated/docs/components_components-filter-docs.md +4091 -0
- package/generated/docs/components_components-hide-docs.md +450 -0
- package/generated/docs/components_components-icon-docs.md +1017 -0
- package/generated/docs/components_components-image-docs.md +168 -0
- package/generated/docs/components_components-inline-docs.md +1962 -0
- package/generated/docs/components_components-input-docs.md +1388 -0
- package/generated/docs/components_components-input-recipes-docs.md +349 -0
- package/generated/docs/components_components-inputcurrency-docs.md +636 -0
- package/generated/docs/components_components-inputcurrency-recipes-docs.md +208 -0
- package/generated/docs/components_components-introduction-docs.md +448 -0
- package/generated/docs/components_components-label-docs.md +229 -0
- package/generated/docs/components_components-link-docs.md +454 -0
- package/generated/docs/components_components-menu-docs.md +2219 -0
- package/generated/docs/components_components-menu-menuitem-docs.md +1455 -0
- package/generated/docs/components_components-modal-docs.md +2002 -0
- package/generated/docs/components_components-panel-docs.md +342 -0
- package/generated/docs/components_components-placeholder-docs.md +98 -0
- package/generated/docs/components_components-popover-docs.md +1631 -0
- package/generated/docs/components_components-popover-recipes-docs.md +537 -0
- package/generated/docs/components_components-progress-docs.md +128 -0
- package/generated/docs/components_components-provider-docs.md +123 -0
- package/generated/docs/components_components-radio-docs.md +499 -0
- package/generated/docs/components_components-radiogroup-docs.md +1573 -0
- package/generated/docs/components_components-readonly-docs.md +277 -0
- package/generated/docs/components_components-richselect-docs.md +6101 -0
- package/generated/docs/components_components-row-docs.md +2172 -0
- package/generated/docs/components_components-select-docs.md +1110 -0
- package/generated/docs/components_components-skeleton-docs.md +467 -0
- package/generated/docs/components_components-skeleton-recipes-docs.md +110 -0
- package/generated/docs/components_components-skiplink-docs.md +220 -0
- package/generated/docs/components_components-slideout-docs.md +1910 -0
- package/generated/docs/components_components-slider-docs.md +1284 -0
- package/generated/docs/components_components-spinner-docs.md +90 -0
- package/generated/docs/components_components-stack-docs.md +730 -0
- package/generated/docs/components_components-table-docs.md +4038 -0
- package/generated/docs/components_components-tabset-docs.md +955 -0
- package/generated/docs/components_components-tabset-tab-docs.md +342 -0
- package/generated/docs/components_components-tag-docs.md +410 -0
- package/generated/docs/components_components-text-docs.md +593 -0
- package/generated/docs/components_components-toaster-docs.md +451 -0
- package/generated/docs/components_components-toggle-docs.md +513 -0
- package/generated/docs/components_components-tooltip-docs.md +564 -0
- package/generated/docs/components_components-validationmessage-docs.md +608 -0
- package/generated/docs/components_contact-us-docs.md +9 -0
- package/generated/docs/components_foundations-accessibility-docs.md +33 -0
- package/generated/docs/components_foundations-consistency-docs.md +44 -0
- package/generated/docs/components_foundations-content-docs.md +18 -0
- package/generated/docs/components_foundations-introduction-docs.md +17 -0
- package/generated/docs/components_foundations-principles-docs.md +60 -0
- package/generated/docs/components_foundations-responsive-layout-docs.md +2692 -0
- package/generated/docs/components_foundations-user-experience-docs.md +53 -0
- package/generated/docs/components_foundations-visual-design-docs.md +39 -0
- package/generated/docs/components_foundations-z-index-stacking-docs.md +288 -0
- package/generated/docs/components_frequently-asked-questions-docs.md +44 -0
- package/generated/docs/components_get-started-develop-docs.md +47 -0
- package/generated/docs/components_get-started-using-storybook-docs.md +55 -0
- package/generated/docs/components_introduction-docs.md +85 -0
- package/generated/docs/components_patterns-form-docs.md +2469 -0
- package/generated/docs/components_patterns-form-recipes-docs.md +1597 -0
- package/generated/docs/components_patterns-introduction-docs.md +31 -0
- package/generated/docs/components_patterns-loading-docs.md +1908 -0
- package/generated/docs/components_patterns-shadow-docs.md +195 -0
- package/generated/docs/components_resources-code-katas-docs.md +25 -0
- package/generated/docs/components_resources-introduction-docs.md +28 -0
- package/generated/docs/components_resources-mcp-server-docs.md +23 -0
- package/generated/docs/components_resources-migration-guides-from-v4-to-v5-docs.md +142 -0
- package/generated/docs/components_styling-props-colour-docs.md +91 -0
- package/generated/docs/components_styling-props-elevation-docs.md +69 -0
- package/generated/docs/components_styling-props-radius-docs.md +63 -0
- package/generated/docs/components_styling-props-reference-docs.md +160 -0
- package/generated/docs/components_styling-props-screen-readers-docs.md +66 -0
- package/generated/docs/components_styling-props-sizing-docs.md +217 -0
- package/generated/docs/components_styling-props-spacing-docs.md +545 -0
- package/generated/docs/components_styling-props-typography-docs.md +66 -0
- package/generated/docs/components_versions-docs.md +14 -0
- package/generated/docs/guidelines.md +3083 -0
- package/generated/docs/introduction-docs.md +37 -0
- package/generated/docs/tokens_colour-docs.md +479 -0
- package/generated/docs/tokens_elevation-docs.md +39 -0
- package/generated/docs/tokens_introduction-docs.md +150 -0
- package/generated/docs/tokens_radius-docs.md +67 -0
- package/generated/docs/tokens_spacing-docs.md +87 -0
- package/generated/docs/tokens_typography-docs.md +305 -0
- package/package.json +2 -2
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
Recipes
|
|
2
|
+
=======
|
|
3
|
+
|
|
4
|
+
Percentage formatting
|
|
5
|
+
---------------------
|
|
6
|
+
|
|
7
|
+
You can use `IressInput` to display percentage formatting. When the field is focused, it can display the raw value, and when blurred, it can display the formatted percentage value.
|
|
8
|
+
|
|
9
|
+
[](./iframe.html?id=components-input-recipes--percentage)
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
import { IressInput } from '@iress-oss/ids-components';
|
|
14
|
+
export const InputPercentage \= () \=> (
|
|
15
|
+
<IressInput<string | number\>
|
|
16
|
+
defaultValue\="0.5"
|
|
17
|
+
formatter\={(value \= '') \=> {
|
|
18
|
+
if (value \=== '') return '';
|
|
19
|
+
const numericValue \= Number(value);
|
|
20
|
+
if (Number.isNaN(numericValue)) {
|
|
21
|
+
return String(value) ?? '';
|
|
22
|
+
}
|
|
23
|
+
return new Intl.NumberFormat('en-AU', {
|
|
24
|
+
style: 'percent',
|
|
25
|
+
}).format(numericValue);
|
|
26
|
+
}}
|
|
27
|
+
type\="number"
|
|
28
|
+
/\>
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### Props
|
|
34
|
+
|
|
35
|
+
| Name | Description | Default | Control |
|
|
36
|
+
| --- | --- | --- | --- |
|
|
37
|
+
| alignRight |
|
|
38
|
+
Set input content align to right, useful for numeric inputs.
|
|
39
|
+
|
|
40
|
+
boolean
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
| \- | Set boolean |
|
|
45
|
+
| append |
|
|
46
|
+
|
|
47
|
+
Content to append to the input field, usually a button or icon.
|
|
48
|
+
|
|
49
|
+
ReactNode
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
| \- | Set object |
|
|
54
|
+
| clearable |
|
|
55
|
+
|
|
56
|
+
If `true`, then user can clear the value of the input. Will be ignored if `rows` prop is in use.
|
|
57
|
+
|
|
58
|
+
boolean
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
| \- | Set boolean |
|
|
63
|
+
| defaultValue |
|
|
64
|
+
|
|
65
|
+
The value of the input. Can be a string or a number. Use for uncontrolled inputs.
|
|
66
|
+
|
|
67
|
+
T
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
| \- | Set object |
|
|
72
|
+
| formatter |
|
|
73
|
+
|
|
74
|
+
Bring your own formatter that will be used to format the value when the input is not focused, allowing you to display the value in a different format. e.g. User type in value="dsf 987kkk123" => result after formatter: $987,123 (string)
|
|
75
|
+
|
|
76
|
+
(value?: T) => string | number
|
|
77
|
+
|
|
78
|
+
| \- | \- |
|
|
79
|
+
| inline |
|
|
80
|
+
|
|
81
|
+
Make prepend/append element closer to the input content.
|
|
82
|
+
|
|
83
|
+
boolean
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
| \- | Set boolean |
|
|
88
|
+
| loading |
|
|
89
|
+
|
|
90
|
+
The loading states of the input field. If provided a string, will use that text as the loading message.
|
|
91
|
+
|
|
92
|
+
union
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
| \- | Set object |
|
|
97
|
+
| onChange |
|
|
98
|
+
|
|
99
|
+
Emitted when the input value changes with the new changed value.
|
|
100
|
+
|
|
101
|
+
(e: ChangeEvent<InputBaseElement<TRows>>, value?: T) => void
|
|
102
|
+
|
|
103
|
+
| \- | \- |
|
|
104
|
+
| onClear |
|
|
105
|
+
|
|
106
|
+
Emitted when the input is manually cleared.
|
|
107
|
+
|
|
108
|
+
(e: ChangeEvent<InputBaseElement<TRows>>) => void
|
|
109
|
+
|
|
110
|
+
| \- | \- |
|
|
111
|
+
| prepend |
|
|
112
|
+
|
|
113
|
+
Content to prepended to the input field, usually an icon.
|
|
114
|
+
|
|
115
|
+
ReactNode
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
| \- | Set object |
|
|
120
|
+
| value |
|
|
121
|
+
|
|
122
|
+
The value of the input. Can be a string or a number. Use for controlled inputs.
|
|
123
|
+
|
|
124
|
+
T
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
| \- | Set object |
|
|
129
|
+
| width |
|
|
130
|
+
|
|
131
|
+
The width of the input.
|
|
132
|
+
|
|
133
|
+
FormElementWidths
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
| \- | Set object |
|
|
138
|
+
|
|
139
|
+
Using with React Hook Forms
|
|
140
|
+
---------------------------
|
|
141
|
+
|
|
142
|
+
You can use `IressInput` with React Hook Forms quite easily. The recommended way is to use the [`Controller` component from react-hook-forms](https://www.react-hook-form.com/get-started/#IntegratingwithUIlibraries). However, you can use the `register` method directly, with a few customisations to cater for custom `ref` as seen in the code example here.
|
|
143
|
+
|
|
144
|
+
Where possible, please use `IressFormField` within an [`IressForm` component](/docs/components-form--docs).
|
|
145
|
+
|
|
146
|
+
[](./iframe.html?id=components-input-recipes--react-hook-forms)
|
|
147
|
+
|
|
148
|
+
Although you can use `IressInput` directly with React Hook Forms, we recommend using `IressFormField` within `IressForm` for a more integrated experience.
|
|
149
|
+
|
|
150
|
+
Input using `{ Controller } from 'react-hook-forms'`
|
|
151
|
+
|
|
152
|
+
Input using `{ register } = useForm()`
|
|
153
|
+
|
|
154
|
+
Submit
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
import {
|
|
159
|
+
type InputRef,
|
|
160
|
+
IressAlert,
|
|
161
|
+
IressButton,
|
|
162
|
+
IressInline,
|
|
163
|
+
IressInput,
|
|
164
|
+
IressLabel,
|
|
165
|
+
IressModal,
|
|
166
|
+
IressStack,
|
|
167
|
+
IressTable,
|
|
168
|
+
} from '@iress-oss/ids-components';
|
|
169
|
+
import { useState } from 'react';
|
|
170
|
+
import {
|
|
171
|
+
Controller,
|
|
172
|
+
type UseFormRegisterReturn,
|
|
173
|
+
useForm,
|
|
174
|
+
} from 'react-hook-form';
|
|
175
|
+
const registerInnerElement \= (register: UseFormRegisterReturn) \=> {
|
|
176
|
+
return {
|
|
177
|
+
...register,
|
|
178
|
+
onClear: register.onChange,
|
|
179
|
+
ref: (ref: InputRef | null) \=> {
|
|
180
|
+
if (ref) {
|
|
181
|
+
register.ref(ref.input);
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
export const ReactHookFormsInput \= () \=> {
|
|
187
|
+
const { register, handleSubmit, control } \= useForm();
|
|
188
|
+
const \[data, setData\] \= useState<Record<string, string\> | undefined\>();
|
|
189
|
+
return (
|
|
190
|
+
// eslint-disable-next-line sonarjs/void-use -- This is a mock form submission
|
|
191
|
+
<form onSubmit\={void handleSubmit(setData)}\>
|
|
192
|
+
<IressStack gap\="md"\>
|
|
193
|
+
<IressAlert status\="info"\>
|
|
194
|
+
Although you can use <code\>IressInput</code\> directly with React Hook Forms, we recommend using <code\>IressFormField</code\> within{' '}
|
|
195
|
+
<code\>IressForm</code\> for a more integrated experience. </IressAlert\>
|
|
196
|
+
<IressInline gap\="md" verticalAlign\="middle"\>
|
|
197
|
+
<IressLabel htmlFor\="Controller"\>
|
|
198
|
+
Input using <code\>{\`{ Controller } from 'react-hook-forms'\`}</code\>
|
|
199
|
+
</IressLabel\>
|
|
200
|
+
<Controller
|
|
201
|
+
name\="Controller"
|
|
202
|
+
control\={control}
|
|
203
|
+
render\={({ field }) \=> (
|
|
204
|
+
<IressInput
|
|
205
|
+
{...field}
|
|
206
|
+
clearable
|
|
207
|
+
onClear\={field.onChange}
|
|
208
|
+
id\="firstName"
|
|
209
|
+
/>
|
|
210
|
+
)}
|
|
211
|
+
/>
|
|
212
|
+
</IressInline\>
|
|
213
|
+
<IressInline gap\="md" verticalAlign\="middle"\>
|
|
214
|
+
<IressLabel htmlFor\="register"\>
|
|
215
|
+
Input using <code\>{\`{ register } = useForm()\`}</code\>
|
|
216
|
+
</IressLabel\>
|
|
217
|
+
<IressInput
|
|
218
|
+
{...registerInnerElement(register('register'))}
|
|
219
|
+
clearable
|
|
220
|
+
id\="register"
|
|
221
|
+
/>
|
|
222
|
+
</IressInline\>
|
|
223
|
+
<IressButton type\="submit"\>Submit</IressButton\>
|
|
224
|
+
</IressStack\>
|
|
225
|
+
{data && (
|
|
226
|
+
<IressModal
|
|
227
|
+
show\={!!data}
|
|
228
|
+
onShowChange\={(show) \=> !show && setData(undefined)}
|
|
229
|
+
\>
|
|
230
|
+
<IressTable
|
|
231
|
+
caption\="Submitted details"
|
|
232
|
+
rows\={Object.entries(data ?? {}).map((entry) \=> ({
|
|
233
|
+
name: entry\[0\],
|
|
234
|
+
value: JSON.stringify(entry\[1\], null, 2),
|
|
235
|
+
}))}
|
|
236
|
+
/>
|
|
237
|
+
</IressModal\>
|
|
238
|
+
)}
|
|
239
|
+
</form\>
|
|
240
|
+
);
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
#### Props
|
|
246
|
+
|
|
247
|
+
| Name | Description | Default | Control |
|
|
248
|
+
| --- | --- | --- | --- |
|
|
249
|
+
| alignRight |
|
|
250
|
+
Set input content align to right, useful for numeric inputs.
|
|
251
|
+
|
|
252
|
+
boolean
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
| \- | Set boolean |
|
|
257
|
+
| append |
|
|
258
|
+
|
|
259
|
+
Content to append to the input field, usually a button or icon.
|
|
260
|
+
|
|
261
|
+
ReactNode
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
| \- | Set object |
|
|
266
|
+
| clearable |
|
|
267
|
+
|
|
268
|
+
If `true`, then user can clear the value of the input. Will be ignored if `rows` prop is in use.
|
|
269
|
+
|
|
270
|
+
boolean
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
| \- | Set boolean |
|
|
275
|
+
| defaultValue |
|
|
276
|
+
|
|
277
|
+
The value of the input. Can be a string or a number. Use for uncontrolled inputs.
|
|
278
|
+
|
|
279
|
+
T
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
| \- | Set object |
|
|
284
|
+
| formatter |
|
|
285
|
+
|
|
286
|
+
Bring your own formatter that will be used to format the value when the input is not focused, allowing you to display the value in a different format. e.g. User type in value="dsf 987kkk123" => result after formatter: $987,123 (string)
|
|
287
|
+
|
|
288
|
+
(value?: T) => string | number
|
|
289
|
+
|
|
290
|
+
| \- | \- |
|
|
291
|
+
| inline |
|
|
292
|
+
|
|
293
|
+
Make prepend/append element closer to the input content.
|
|
294
|
+
|
|
295
|
+
boolean
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
| \- | Set boolean |
|
|
300
|
+
| loading |
|
|
301
|
+
|
|
302
|
+
The loading states of the input field. If provided a string, will use that text as the loading message.
|
|
303
|
+
|
|
304
|
+
union
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
| \- | Set object |
|
|
309
|
+
| onChange |
|
|
310
|
+
|
|
311
|
+
Emitted when the input value changes with the new changed value.
|
|
312
|
+
|
|
313
|
+
(e: ChangeEvent<InputBaseElement<TRows>>, value?: T) => void
|
|
314
|
+
|
|
315
|
+
| \- | \- |
|
|
316
|
+
| onClear |
|
|
317
|
+
|
|
318
|
+
Emitted when the input is manually cleared.
|
|
319
|
+
|
|
320
|
+
(e: ChangeEvent<InputBaseElement<TRows>>) => void
|
|
321
|
+
|
|
322
|
+
| \- | \- |
|
|
323
|
+
| prepend |
|
|
324
|
+
|
|
325
|
+
Content to prepended to the input field, usually an icon.
|
|
326
|
+
|
|
327
|
+
ReactNode
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
| \- | Set object |
|
|
332
|
+
| value |
|
|
333
|
+
|
|
334
|
+
The value of the input. Can be a string or a number. Use for controlled inputs.
|
|
335
|
+
|
|
336
|
+
T
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
| \- | Set object |
|
|
341
|
+
| width |
|
|
342
|
+
|
|
343
|
+
The width of the input.
|
|
344
|
+
|
|
345
|
+
FormElementWidths
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
| \- | Set object |
|