@iress-oss/ids-mcp-server 5.15.0 → 5.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/generated/docs/components_components-alert-docs.md +496 -0
  2. package/generated/docs/components_components-autocomplete-docs.md +3429 -0
  3. package/generated/docs/{components-autocomplete-recipes-docs.md → components_components-autocomplete-recipes-docs.md} +39 -14
  4. package/generated/docs/{components-badge-docs.md → components_components-badge-docs.md} +222 -30
  5. package/generated/docs/components_components-button-docs.md +2078 -0
  6. package/generated/docs/components_components-button-recipes-docs.md +37 -0
  7. package/generated/docs/components_components-buttongroup-docs.md +1045 -0
  8. package/generated/docs/components_components-card-docs.md +2290 -0
  9. package/generated/docs/{components-card-recipes-docs.md → components_components-card-recipes-docs.md} +132 -15
  10. package/generated/docs/components_components-checkbox-docs.md +1040 -0
  11. package/generated/docs/{components-checkboxgroup-docs.md → components_components-checkboxgroup-docs.md} +1001 -82
  12. package/generated/docs/{components-checkboxgroup-recipes-docs.md → components_components-checkboxgroup-recipes-docs.md} +102 -12
  13. package/generated/docs/{components-col-docs.md → components_components-col-docs.md} +331 -58
  14. package/generated/docs/components_components-combobox-docs.md +3735 -0
  15. package/generated/docs/{components-container-docs.md → components_components-container-docs.md} +61 -24
  16. package/generated/docs/{components-divider-docs.md → components_components-divider-docs.md} +83 -24
  17. package/generated/docs/{components-expander-docs.md → components_components-expander-docs.md} +266 -33
  18. package/generated/docs/components_components-field-docs.md +1369 -0
  19. package/generated/docs/components_components-filter-docs.md +4080 -0
  20. package/generated/docs/{components-form-docs.md → components_components-form-docs.md} +1556 -360
  21. package/generated/docs/{components-form-recipes-docs.md → components_components-form-recipes-docs.md} +277 -60
  22. package/generated/docs/{components-hide-docs.md → components_components-hide-docs.md} +195 -124
  23. package/generated/docs/components_components-icon-docs.md +1337 -0
  24. package/generated/docs/{components-inline-docs.md → components_components-inline-docs.md} +462 -42
  25. package/generated/docs/components_components-input-docs.md +1468 -0
  26. package/generated/docs/components_components-input-recipes-docs.md +367 -0
  27. package/generated/docs/components_components-inputcurrency-docs.md +432 -0
  28. package/generated/docs/{components-inputcurrency-recipes-docs.md → components_components-inputcurrency-recipes-docs.md} +113 -17
  29. package/generated/docs/components_components-label-docs.md +323 -0
  30. package/generated/docs/components_components-menu-docs.md +2345 -0
  31. package/generated/docs/components_components-menu-menuitem-docs.md +633 -0
  32. package/generated/docs/{components-modal-docs.md → components_components-modal-docs.md} +1640 -231
  33. package/generated/docs/components_components-navbar-docs.md +1847 -0
  34. package/generated/docs/{components-navbar-recipes-docs.md → components_components-navbar-recipes-docs.md} +721 -40
  35. package/generated/docs/{components-panel-docs.md → components_components-panel-docs.md} +754 -57
  36. package/generated/docs/components_components-placeholder-docs.md +92 -0
  37. package/generated/docs/components_components-popover-docs.md +1643 -0
  38. package/generated/docs/components_components-popover-recipes-docs.md +491 -0
  39. package/generated/docs/components_components-progress-docs.md +115 -0
  40. package/generated/docs/{components-provider-docs.md → components_components-provider-docs.md} +42 -33
  41. package/generated/docs/components_components-radio-docs.md +491 -0
  42. package/generated/docs/{components-radiogroup-docs.md → components_components-radiogroup-docs.md} +927 -75
  43. package/generated/docs/components_components-readonly-docs.md +263 -0
  44. package/generated/docs/components_components-richselect-docs.md +6521 -0
  45. package/generated/docs/{components-row-docs.md → components_components-row-docs.md} +353 -43
  46. package/generated/docs/{components-select-docs.md → components_components-select-docs.md} +719 -61
  47. package/generated/docs/components_components-skeleton-docs.md +480 -0
  48. package/generated/docs/{components-skeleton-recipes-docs.md → components_components-skeleton-recipes-docs.md} +51 -11
  49. package/generated/docs/{components-skiplink-docs.md → components_components-skiplink-docs.md} +53 -14
  50. package/generated/docs/components_components-slideout-docs.md +2293 -0
  51. package/generated/docs/components_components-slider-docs.md +1276 -0
  52. package/generated/docs/components_components-spinner-docs.md +82 -0
  53. package/generated/docs/{components-stack-docs.md → components_components-stack-docs.md} +223 -40
  54. package/generated/docs/components_components-table-docs.md +3658 -0
  55. package/generated/docs/components_components-tabset-docs.md +772 -0
  56. package/generated/docs/components_components-tabset-tab-docs.md +262 -0
  57. package/generated/docs/components_components-tag-docs.md +257 -0
  58. package/generated/docs/{components-text-docs.md → components_components-text-docs.md} +491 -51
  59. package/generated/docs/{components-toaster-docs.md → components_components-toaster-docs.md} +187 -85
  60. package/generated/docs/components_components-toaster-toast-docs.md +634 -0
  61. package/generated/docs/components_components-toggle-docs.md +461 -0
  62. package/generated/docs/{components-tooltip-docs.md → components_components-tooltip-docs.md} +286 -41
  63. package/generated/docs/{components-validationmessage-docs.md → components_components-validationmessage-docs.md} +230 -61
  64. package/generated/docs/components_contact-us-docs.md +12 -0
  65. package/generated/docs/{foundations-accessibility-docs.md → components_foundations-accessibility-docs.md} +11 -21
  66. package/generated/docs/{foundations-colours-docs.md → components_foundations-colour-030-colours.md} +8 -15
  67. package/generated/docs/{foundations-consistency-docs.md → components_foundations-consistency-docs.md} +12 -20
  68. package/generated/docs/{foundations-content-docs.md → components_foundations-content-docs.md} +6 -11
  69. package/generated/docs/components_foundations-introduction-docs.md +15 -0
  70. package/generated/docs/{foundations-principles-docs.md → components_foundations-principles-docs.md} +14 -24
  71. package/generated/docs/components_foundations-typography-docs.md +608 -0
  72. package/generated/docs/{foundations-user-experience-docs.md → components_foundations-user-experience-docs.md} +16 -26
  73. package/generated/docs/{foundations-visual-design-docs.md → components_foundations-visual-design-docs.md} +10 -17
  74. package/generated/docs/{frequently-asked-questions-docs.md → components_frequently-asked-questions-docs.md} +14 -23
  75. package/generated/docs/components_get-started-develop-docs.md +84 -0
  76. package/generated/docs/components_get-started-using-storybook-docs.md +55 -0
  77. package/generated/docs/components_introduction-docs.md +15 -0
  78. package/generated/docs/{patterns-loading-docs.md → components_patterns-loading-docs.md} +798 -153
  79. package/generated/docs/components_resources-changelog-docs.md +4 -0
  80. package/generated/docs/{resources-code-katas-docs.md → components_resources-code-katas-docs.md} +5 -9
  81. package/generated/docs/{resources-migration-guides-from-v4-to-v5-docs.md → components_resources-migration-guides-from-v4-to-v5-docs.md} +54 -239
  82. package/generated/docs/components_sandbox-docs.md +4 -0
  83. package/generated/docs/{versions-docs.md → components_versions-docs.md} +5 -8
  84. package/generated/docs/guidelines.md +484 -200
  85. package/generated/docs/introduction-docs.md +19 -30
  86. package/package.json +41 -45
  87. package/generated/docs/components-alert-docs.md +0 -130
  88. package/generated/docs/components-autocomplete-docs.md +0 -754
  89. package/generated/docs/components-button-docs.md +0 -362
  90. package/generated/docs/components-button-recipes-docs.md +0 -76
  91. package/generated/docs/components-buttongroup-docs.md +0 -310
  92. package/generated/docs/components-card-docs.md +0 -494
  93. package/generated/docs/components-checkbox-docs.md +0 -193
  94. package/generated/docs/components-combobox-docs.md +0 -1016
  95. package/generated/docs/components-field-docs.md +0 -675
  96. package/generated/docs/components-filter-docs.md +0 -1109
  97. package/generated/docs/components-icon-docs.md +0 -553
  98. package/generated/docs/components-input-docs.md +0 -335
  99. package/generated/docs/components-input-recipes-docs.md +0 -140
  100. package/generated/docs/components-inputcurrency-docs.md +0 -157
  101. package/generated/docs/components-label-docs.md +0 -135
  102. package/generated/docs/components-menu-docs.md +0 -704
  103. package/generated/docs/components-menu-menuitem-docs.md +0 -193
  104. package/generated/docs/components-navbar-docs.md +0 -291
  105. package/generated/docs/components-placeholder-docs.md +0 -27
  106. package/generated/docs/components-popover-docs.md +0 -464
  107. package/generated/docs/components-popover-recipes-docs.md +0 -245
  108. package/generated/docs/components-progress-docs.md +0 -104
  109. package/generated/docs/components-radio-docs.md +0 -107
  110. package/generated/docs/components-readonly-docs.md +0 -89
  111. package/generated/docs/components-richselect-docs.md +0 -2433
  112. package/generated/docs/components-skeleton-docs.md +0 -214
  113. package/generated/docs/components-slideout-docs.md +0 -538
  114. package/generated/docs/components-slider-docs.md +0 -346
  115. package/generated/docs/components-spinner-docs.md +0 -59
  116. package/generated/docs/components-table-ag-grid-docs.md +0 -1074
  117. package/generated/docs/components-table-docs.md +0 -1305
  118. package/generated/docs/components-tabset-docs.md +0 -341
  119. package/generated/docs/components-tabset-tab-docs.md +0 -86
  120. package/generated/docs/components-tag-docs.md +0 -115
  121. package/generated/docs/components-toaster-toast-docs.md +0 -157
  122. package/generated/docs/components-toggle-docs.md +0 -158
  123. package/generated/docs/contact-us-docs.md +0 -27
  124. package/generated/docs/extensions-editor-docs.md +0 -288
  125. package/generated/docs/extensions-editor-recipes-docs.md +0 -39
  126. package/generated/docs/foundations-introduction-docs.md +0 -17
  127. package/generated/docs/foundations-typography-docs.md +0 -191
  128. package/generated/docs/get-started-develop-docs.md +0 -209
  129. package/generated/docs/get-started-using-storybook-docs.md +0 -68
  130. package/generated/docs/resources-changelog-docs.md +0 -6
  131. package/generated/docs/themes-available-themes-docs.md +0 -66
  132. package/generated/docs/themes-introduction-docs.md +0 -121
  133. package/generated/docs/themes-tokens-docs.md +0 -1200
  134. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -1,8 +1,8 @@
1
- [](#recipes)Recipes
2
- ===================
1
+ Recipes
2
+ =======
3
3
 
4
- [](#with-readonly-data)With readonly data
5
- -----------------------------------------
4
+ With readonly data
5
+ ------------------
6
6
 
7
7
  You can use `IressForm` with readonly data by setting the `readonly` prop to `true` on controlled elements. This will disable those form controls, but will include the values in the form submission.
8
8
 
@@ -10,6 +10,8 @@ Please take note of the following when displaying read only data.
10
10
 
11
11
  * It is best to keep readonly data in a separate section of the form, to further avoid confusion with editable fields.
12
12
 
13
+ [](./iframe.html?id=components-form-recipes--with-readonly-data)
14
+
13
15
  User Details
14
16
  ------------
15
17
 
@@ -27,10 +29,24 @@ Email
27
29
 
28
30
  Submit
29
31
 
30
- Hide code
31
-
32
- \[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; }
33
-
32
+ Hide codedrawOpen in CodeSandbox
33
+
34
+ import {
35
+ IressButton,
36
+ IressCol,
37
+ IressContainer,
38
+ IressDivider,
39
+ IressForm,
40
+ IressFormField,
41
+ IressInput,
42
+ IressModal,
43
+ IressRow,
44
+ IressStack,
45
+ IressTable,
46
+ IressText,
47
+ } from '@/main';
48
+ import { useState } from 'react';
49
+ import { type FieldValues } from 'react-hook-form';
34
50
  export const WithReadonlyDataForm \= () \=> {
35
51
  const \[values, setValues\] \= useState<FieldValues\>({
36
52
  firstName: 'Leia',
@@ -100,10 +116,28 @@ export const WithReadonlyDataForm \= () \=> {
100
116
  );
101
117
  };
102
118
 
103
- Copy
119
+ ```
120
+
121
+ #### Props
122
+
123
+ | Name | Description | Default | Control |
124
+ | --- | --- | --- | --- |
125
+ | form |
126
+ React hook form instance from `useForm`, use if you need more control over the internal state.
127
+
128
+ const form = useForm();
129
+ return <IressForm form={form} />;
130
+
131
+
132
+ UseFormReturn
133
+
134
+
104
135
 
105
- [](#switching-between-readonly-and-edit-modes)Switching between readonly and edit modes
106
- ---------------------------------------------------------------------------------------
136
+ | \- | Set object |
137
+ | Show React Hook Forms itemsReact Hook Forms | Show React Hook Forms items |
138
+
139
+ Switching between readonly and edit modes
140
+ -----------------------------------------
107
141
 
108
142
  It is recommended to use a button to toggle between read-only and editable input modes.
109
143
 
@@ -112,6 +146,8 @@ Please take note of the following when switching between modes:
112
146
  * Switching is done on a per-section basis, not on a per-field basis.
113
147
  * When the user saves the data, it should switch back to read-only mode to avoid any confusion about whether the changes have been saved.
114
148
 
149
+ [](./iframe.html?id=components-form-recipes--switch-edit-readonly)
150
+
115
151
  User Details
116
152
  ------------
117
153
 
@@ -133,10 +169,27 @@ dependents
133
169
 
134
170
  Edit
135
171
 
136
- Hide code
137
-
138
- \[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; }
139
-
172
+ Hide codedrawOpen in CodeSandbox
173
+
174
+ import {
175
+ IressButton,
176
+ IressCol,
177
+ IressContainer,
178
+ IressForm,
179
+ IressFormField,
180
+ IressIcon,
181
+ IressInline,
182
+ IressInput,
183
+ IressModal,
184
+ IressRow,
185
+ IressSelect,
186
+ IressStack,
187
+ IressTable,
188
+ IressText,
189
+ } from '@/main';
190
+ import { useState } from 'react';
191
+ import { type FieldValues } from 'react-hook-form';
192
+ import { type FormControlValue } from '@/main';
140
193
  export const SwitchEditReadonlyForm \= () \=> {
141
194
  const dependentOptions \= \[
142
195
  { value: 0, label: '0' },
@@ -215,7 +268,7 @@ export const SwitchEditReadonlyForm \= () \=> {
215
268
  {...controlledProps}
216
269
  readonly\={!editable}
217
270
  onChange\={(
218
- e: React.ChangeEvent<HTMLSelectElement\>,
271
+ \_e: React.ChangeEvent<HTMLSelectElement\>,
219
272
  value?: FormControlValue,
220
273
  ) \=> controlledProps.onChange(value)}
221
274
  \>
@@ -259,27 +312,55 @@ export const SwitchEditReadonlyForm \= () \=> {
259
312
  );
260
313
  };
261
314
 
262
- Copy
315
+ ```
316
+
317
+ #### Props
318
+
319
+ | Name | Description | Default | Control |
320
+ | --- | --- | --- | --- |
321
+ | form |
322
+ React hook form instance from `useForm`, use if you need more control over the internal state.
323
+
324
+ const form = useForm();
325
+ return <IressForm form={form} />;
326
+
327
+
328
+ UseFormReturn
263
329
 
264
- [](#alternative-form-validation)Alternative form validation
265
- -----------------------------------------------------------
266
330
 
267
- `IressForm` is always recommended for all validation, as it is the cleanest way (least code) to provide the best form user experience for your users. Please visit the [`IressForm` documentation](./?path=/docs/components-form--docs) for different validation examples.
331
+
332
+ | \- | Set object |
333
+ | Show React Hook Forms itemsReact Hook Forms | Show React Hook Forms items |
334
+
335
+ Alternative form validation
336
+ ---------------------------
337
+
338
+ `IressForm` is always recommended for all validation, as it is the cleanest way (least code) to provide the best form user experience for your users. Please visit the [`IressForm` documentation](/docs/components-form--docs) for different validation examples.
268
339
 
269
340
  However, if you have more complex requirements and you find `IressForm` too opinionated for your needs, you can always bring your own form validation using a native `form` element and the other IDS components such as `IressField`.
270
341
 
271
342
  Here is an example showcasing a form using the native form constraints API to achieve validation using IDS components. There are other libraries such as: [Yup](https://github.com/jquense/yup), [Joi](https://github.com/hapijs/joi) or [Zod](https://zod.dev/)) which can improve scalability, with the downside being you will have to maintain all validation yourself.
272
343
 
344
+ [](./iframe.html?id=components-form-recipes--native-validation)
345
+
273
346
  **\*Required Name**
274
347
 
275
348
  **\*Required Email address**
276
349
 
277
350
  Sign up
278
351
 
279
- Hide code
280
-
281
- \[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; }
282
-
352
+ Hide codedrawOpen in CodeSandbox
353
+
354
+ import {
355
+ IressInput,
356
+ IressStack,
357
+ IressButton,
358
+ IressField,
359
+ IressValidationMessage,
360
+ IressAlert,
361
+ } from '@/main';
362
+ import { useState } from 'react';
363
+ import { type InputBaseElement } from '@/components/Input/InputBase/InputBase.types';
283
364
  export const NativeValidationForm \= () \=> {
284
365
  const \[formData, setFormData\] \= useState({
285
366
  name: '',
@@ -355,10 +436,28 @@ export const NativeValidationForm \= () \=> {
355
436
  );
356
437
  };
357
438
 
358
- Copy
439
+ ```
440
+
441
+ #### Props
442
+
443
+ | Name | Description | Default | Control |
444
+ | --- | --- | --- | --- |
445
+ | form |
446
+ React hook form instance from `useForm`, use if you need more control over the internal state.
359
447
 
360
- [](#nested-forms)Nested forms
361
- -----------------------------
448
+ const form = useForm();
449
+ return <IressForm form={form} />;
450
+
451
+
452
+ UseFormReturn
453
+
454
+
455
+
456
+ | \- | Set object |
457
+ | Show React Hook Forms itemsReact Hook Forms | Show React Hook Forms items |
458
+
459
+ Nested forms
460
+ ------------
362
461
 
363
462
  Unfortunately, it is [forbidden to nest form elements as per the HTML specifications](https://developer.mozilla.org/en-US/docs/Learn/Forms/How_to_structure_a_web_form).
364
463
 
@@ -370,6 +469,8 @@ To achieve a similar effect, you can use multiple `IressForm` components, and tr
370
469
 
371
470
  The example here showcases triggering validation using the `form` attribute of `IressButton` and the `requestSubmit` method on the form element.
372
471
 
472
+ [](./iframe.html?id=components-form-recipes--nested-forms)
473
+
373
474
  \*Required Name
374
475
 
375
476
  Add new dependant
@@ -382,10 +483,22 @@ Save
382
483
 
383
484
  Submit main formSubmit all forms
384
485
 
385
- Hide code
386
-
387
- \[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; }
388
-
486
+ Hide codedrawOpen in CodeSandbox
487
+
488
+ import {
489
+ IressButton,
490
+ IressDivider,
491
+ IressFieldGroup,
492
+ IressForm,
493
+ IressFormField,
494
+ IressInline,
495
+ IressInput,
496
+ IressModal,
497
+ IressPanel,
498
+ IressStack,
499
+ IressTable,
500
+ } from '@/main';
501
+ import { useState } from 'react';
389
502
  interface FormData {
390
503
  name: string;
391
504
  }
@@ -468,13 +581,33 @@ export const NestedFormsExample \= () \=> {
468
581
  );
469
582
  };
470
583
 
471
- Copy
584
+ ```
585
+
586
+ #### Props
587
+
588
+ | Name | Description | Default | Control |
589
+ | --- | --- | --- | --- |
590
+ | form |
591
+ React hook form instance from `useForm`, use if you need more control over the internal state.
592
+
593
+ const form = useForm();
594
+ return <IressForm form={form} />;
595
+
596
+
597
+ UseFormReturn
472
598
 
473
- [](#form-groups)Form Groups
474
- ---------------------------
599
+
600
+
601
+ | \- | Set object |
602
+ | Show React Hook Forms itemsReact Hook Forms | Show React Hook Forms items |
603
+
604
+ Form Groups
605
+ -----------
475
606
 
476
607
  Powered by [React Hook Form](https://react-hook-form.com/docs/usefieldarray)'s `useFieldArray`, this example allows you add/edit/delete multiple children sections within ONE form (not nested form).
477
608
 
609
+ [](./iframe.html?id=components-form-recipes--form-groups)
610
+
478
611
  Form groups
479
612
  ===========
480
613
 
@@ -506,10 +639,28 @@ Add Dependant
506
639
 
507
640
  Submit All
508
641
 
509
- Hide code
510
-
511
- \[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; }
512
-
642
+ Hide codedrawOpen in CodeSandbox
643
+
644
+ import {
645
+ IressButton,
646
+ IressDivider,
647
+ IressFieldGroup,
648
+ IressFormField,
649
+ IressInline,
650
+ IressInput,
651
+ IressPanel,
652
+ IressStack,
653
+ IressText,
654
+ IressIcon,
655
+ IressCloseButton,
656
+ IressHookForm,
657
+ } from '@/main';
658
+ import {
659
+ useForm,
660
+ useFieldArray,
661
+ type Control,
662
+ type UseFormGetValues,
663
+ } from 'react-hook-form';
513
664
  interface Client {
514
665
  name: string | undefined;
515
666
  salary: number | undefined;
@@ -678,10 +829,28 @@ export const FormGroups \= () \=> {
678
829
  );
679
830
  };
680
831
 
681
- Copy
832
+ ```
833
+
834
+ #### Props
835
+
836
+ | Name | Description | Default | Control |
837
+ | --- | --- | --- | --- |
838
+ | form |
839
+ React hook form instance from `useForm`, use if you need more control over the internal state.
840
+
841
+ const form = useForm();
842
+ return <IressForm form={form} />;
843
+
844
+
845
+ UseFormReturn
846
+
847
+
848
+
849
+ | \- | Set object |
850
+ | Show React Hook Forms itemsReact Hook Forms | Show React Hook Forms items |
682
851
 
683
- [](#hidden-inputs)Hidden inputs
684
- -------------------------------
852
+ Hidden inputs
853
+ -------------
685
854
 
686
855
  You can use hidden inputs to store data that you do not want to display to the user, but still need to include in the form submission. This is useful for storing metadata or other information that is not editable by the user.
687
856
 
@@ -690,14 +859,22 @@ Warning
690
859
 
691
860
  This is not a recommended practice, as it can lead to security issues if sensitive data is stored in hidden inputs. It is better to use a variable to store your data, and include it in the form submission using the `onSubmit` handler.
692
861
 
862
+ [](./iframe.html?id=components-form-recipes--hidden-inputs)
863
+
693
864
  Visible Input
694
865
 
695
866
  Submit
696
867
 
697
- Hide code
698
-
699
- \[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; }
868
+ Hide codedrawOpen in CodeSandbox
700
869
 
870
+ import {
871
+ IressButton,
872
+ IressForm,
873
+ IressFormField,
874
+ IressHookForm,
875
+ IressInput,
876
+ IressStack,
877
+ } from '@/main';
701
878
  export const HiddenInputsForm \= () \=> {
702
879
  const form \= IressForm.useForm();
703
880
  const { register } \= form;
@@ -732,15 +909,35 @@ export const HiddenInputsForm \= () \=> {
732
909
  );
733
910
  };
734
911
 
735
- Copy
912
+ ```
913
+
914
+ #### Props
915
+
916
+ | Name | Description | Default | Control |
917
+ | --- | --- | --- | --- |
918
+ | form |
919
+ React hook form instance from `useForm`, use if you need more control over the internal state.
920
+
921
+ const form = useForm();
922
+ return <IressForm form={form} />;
923
+
924
+
925
+ UseFormReturn
926
+
927
+
928
+
929
+ | \- | Set object |
930
+ | Show React Hook Forms itemsReact Hook Forms | Show React Hook Forms items |
736
931
 
737
- [](#validation-depend-on-other-fields)Validation depend on other fields
738
- -----------------------------------------------------------------------
932
+ Validation depend on other fields
933
+ ---------------------------------
739
934
 
740
935
  This example shows how to validate one field based on another field's value.
741
936
 
742
937
  The budget amount input validates against the selected budget range using the custom `validateBudgetInput` rules.
743
938
 
939
+ [](./iframe.html?id=components-form-recipes--validation-depend-on-other-fields)
940
+
744
941
  Validation depend on other fields
745
942
  =================================
746
943
 
@@ -758,10 +955,22 @@ Submit
758
955
 
759
956
  * * *
760
957
 
761
- Hide code
762
-
763
- \[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; }
764
-
958
+ Hide codedrawOpen in CodeSandbox
959
+
960
+ import {
961
+ IressStack,
962
+ IressRow,
963
+ IressCol,
964
+ IressFormField,
965
+ IressInputCurrency,
966
+ IressSelect,
967
+ IressButton,
968
+ IressText,
969
+ IressDivider,
970
+ } from '@/main';
971
+ import { IressHookForm } from '../HookForm/HookForm';
972
+ import { IressForm } from '../Form';
973
+ import { useState } from 'react';
765
974
  interface FormData {
766
975
  primaryField: string;
767
976
  dependentField: string;
@@ -873,14 +1082,22 @@ export const ValidationDependOnOtherFields \= () \=> {
873
1082
  );
874
1083
  };
875
1084
 
876
- Copy
1085
+ ```
1086
+
1087
+ #### Props
1088
+
1089
+ | Name | Description | Default | Control |
1090
+ | --- | --- | --- | --- |
1091
+ | form |
1092
+ React hook form instance from `useForm`, use if you need more control over the internal state.
1093
+
1094
+ const form = useForm();
1095
+ return <IressForm form={form} />;
1096
+
1097
+
1098
+ UseFormReturn
1099
+
877
1100
 
878
- On this page
879
1101
 
880
- * [With readonly data](#with-readonly-data)
881
- * [Switching between readonly and edit modes](#switching-between-readonly-and-edit-modes)
882
- * [Alternative form validation](#alternative-form-validation)
883
- * [Nested forms](#nested-forms)
884
- * [Form Groups](#form-groups)
885
- * [Hidden inputs](#hidden-inputs)
886
- * [Validation depend on other fields](#validation-depend-on-other-fields)
1102
+ | \- | Set object |
1103
+ | Show React Hook Forms itemsReact Hook Forms | Show React Hook Forms items |