@gen-epix/ui-core-components 4.0.0 → 4.0.1

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 (170) hide show
  1. package/dist/_chunks/isObject.js +13 -0
  2. package/dist/_chunks/isObject.js.map +1 -0
  3. package/dist/_chunks/rolldown-runtime.js +2 -2
  4. package/dist/components/BackdropSpinner/BackdropSpinner.d.ts +5 -0
  5. package/dist/components/BackdropSpinner/index.d.ts +1 -0
  6. package/dist/components/BackdropSpinner/index.js +19 -0
  7. package/dist/components/BackdropSpinner/index.js.map +1 -0
  8. package/dist/components/Confirmation/Confirmation.d.ts +2 -0
  9. package/dist/components/Confirmation/ConfirmationRender.d.ts +11 -0
  10. package/dist/components/Confirmation/index.d.ts +2 -0
  11. package/dist/components/Confirmation/index.js +58 -0
  12. package/dist/components/Confirmation/index.js.map +1 -0
  13. package/dist/components/CopyToClipboardButton/CopyToClipboardButton.d.ts +13 -0
  14. package/dist/components/CopyToClipboardButton/index.d.ts +1 -0
  15. package/dist/components/CopyToClipboardButton/index.js +101 -0
  16. package/dist/components/CopyToClipboardButton/index.js.map +1 -0
  17. package/dist/components/Dialog/Dialog.d.ts +27 -0
  18. package/dist/components/Dialog/index.d.ts +1 -0
  19. package/dist/components/Dialog/index.js +83 -0
  20. package/dist/components/Dialog/index.js.map +1 -0
  21. package/dist/components/LinearProgressWithLabel/LinearProgressWithLabel.d.ts +5 -0
  22. package/dist/components/LinearProgressWithLabel/index.d.ts +1 -0
  23. package/dist/components/LinearProgressWithLabel/index.js +31 -0
  24. package/dist/components/LinearProgressWithLabel/index.js.map +1 -0
  25. package/dist/components/LoadingIndicator/LoadingIndicator.d.ts +2 -0
  26. package/dist/components/LoadingIndicator/index.d.ts +1 -0
  27. package/dist/components/LoadingIndicator/index.js +12 -0
  28. package/dist/components/LoadingIndicator/index.js.map +1 -0
  29. package/dist/components/NestedMenu/IconMenuItem.d.ts +18 -0
  30. package/dist/components/NestedMenu/NestedDropdown.d.ts +17 -0
  31. package/dist/components/NestedMenu/NestedMenuItem.d.ts +22 -0
  32. package/dist/components/NestedMenu/index.d.ts +4 -0
  33. package/dist/components/NestedMenu/index.js +240 -0
  34. package/dist/components/NestedMenu/index.js.map +1 -0
  35. package/dist/components/NestedMenu/nestedMenuItemsFromObject.d.ts +11 -0
  36. package/dist/components/Spinner/Spinner.d.ts +11 -0
  37. package/dist/components/Spinner/index.d.ts +1 -0
  38. package/dist/components/Spinner/index.js +63 -0
  39. package/dist/components/Spinner/index.js.map +1 -0
  40. package/dist/components/Stepper/Stepper.d.ts +17 -0
  41. package/dist/components/Stepper/index.d.ts +2 -0
  42. package/dist/components/Stepper/index.js +1087 -0
  43. package/dist/components/Stepper/index.js.map +1 -0
  44. package/dist/components/Stepper/stepperModel.d.ts +4 -0
  45. package/dist/context/uiCoreComponentsConfigContext/UiCoreComponentsConfigContextProvider.d.ts +6 -0
  46. package/dist/context/uiCoreComponentsConfigContext/index.d.ts +3 -0
  47. package/dist/context/uiCoreComponentsConfigContext/index.js +14 -0
  48. package/dist/context/uiCoreComponentsConfigContext/index.js.map +1 -0
  49. package/dist/context/uiCoreComponentsConfigContext/uiCoreComponentsConfigContext.d.ts +7 -0
  50. package/dist/context/uiCoreComponentsConfigContext/useUiCoreComponentsConfigContext.d.ts +2 -0
  51. package/dist/hoc/withDialog/index.d.ts +1 -0
  52. package/dist/hoc/withDialog/index.js +69 -0
  53. package/dist/hoc/withDialog/index.js.map +1 -0
  54. package/dist/hoc/withDialog/withDialog.d.ts +33 -0
  55. package/dist/locale/en.json +14 -93
  56. package/dist/locale/nl.json +14 -93
  57. package/dist/models/nestedMenu.d.ts +17 -0
  58. package/dist/models/nestedMenu.js +0 -0
  59. package/package.json +3 -3
  60. package/dist/@types/ui-form.d.ts +0 -2
  61. package/dist/@types/yup.d.ts +0 -30
  62. package/dist/_chunks/Autocomplete.js +0 -229
  63. package/dist/_chunks/Autocomplete.js.map +0 -1
  64. package/dist/_chunks/DatePicker.js +0 -126
  65. package/dist/_chunks/DatePicker.js.map +0 -1
  66. package/dist/_chunks/FormUtil.js +0 -1350
  67. package/dist/_chunks/FormUtil.js.map +0 -1
  68. package/dist/_chunks/RichTextEditor.js +0 -22721
  69. package/dist/_chunks/RichTextEditor.js.map +0 -1
  70. package/dist/_chunks/TransferList.js +0 -453
  71. package/dist/_chunks/TransferList.js.map +0 -1
  72. package/dist/_chunks/UploadButton.js +0 -91
  73. package/dist/_chunks/UploadButton.js.map +0 -1
  74. package/dist/_chunks/classnames.js +0 -33
  75. package/dist/_chunks/classnames.js.map +0 -1
  76. package/dist/_chunks/index.esm.js +0 -348
  77. package/dist/_chunks/index.esm.js.map +0 -1
  78. package/dist/_chunks/isEqual.js +0 -348
  79. package/dist/_chunks/isEqual.js.map +0 -1
  80. package/dist/_chunks/isObjectLike.js +0 -304
  81. package/dist/_chunks/isObjectLike.js.map +0 -1
  82. package/dist/_chunks/isValid.js +0 -28
  83. package/dist/_chunks/isValid.js.map +0 -1
  84. package/dist/_chunks/sv.js +0 -434
  85. package/dist/_chunks/sv.js.map +0 -1
  86. package/dist/components/fields/Autocomplete/Autocomplete.d.ts +0 -19
  87. package/dist/components/fields/Autocomplete/AutocompleteSelectAllContext.d.ts +0 -2
  88. package/dist/components/fields/Autocomplete/AutocompleteSelectAllPaper.d.ts +0 -2
  89. package/dist/components/fields/Autocomplete/index.d.ts +0 -1
  90. package/dist/components/fields/Autocomplete/index.js +0 -2
  91. package/dist/components/fields/CheckboxGroup/CheckboxGroup.d.ts +0 -18
  92. package/dist/components/fields/CheckboxGroup/index.d.ts +0 -1
  93. package/dist/components/fields/CheckboxGroup/index.js +0 -114
  94. package/dist/components/fields/CheckboxGroup/index.js.map +0 -1
  95. package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -15
  96. package/dist/components/fields/DatePicker/DatePickerInputAdornment.d.ts +0 -8
  97. package/dist/components/fields/DatePicker/index.d.ts +0 -1
  98. package/dist/components/fields/DatePicker/index.js +0 -2
  99. package/dist/components/fields/DateRangePicker/DateRangePicker.d.ts +0 -17
  100. package/dist/components/fields/DateRangePicker/index.d.ts +0 -1
  101. package/dist/components/fields/DateRangePicker/index.js +0 -1648
  102. package/dist/components/fields/DateRangePicker/index.js.map +0 -1
  103. package/dist/components/fields/NumberField/NumberField.d.ts +0 -19
  104. package/dist/components/fields/NumberField/index.d.ts +0 -1
  105. package/dist/components/fields/NumberField/index.js +0 -180
  106. package/dist/components/fields/NumberField/index.js.map +0 -1
  107. package/dist/components/fields/NumberRangeInput/NumberRangeInput.d.ts +0 -15
  108. package/dist/components/fields/NumberRangeInput/index.d.ts +0 -1
  109. package/dist/components/fields/NumberRangeInput/index.js +0 -192
  110. package/dist/components/fields/NumberRangeInput/index.js.map +0 -1
  111. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -16
  112. package/dist/components/fields/RadioGroup/index.d.ts +0 -1
  113. package/dist/components/fields/RadioGroup/index.js +0 -72
  114. package/dist/components/fields/RadioGroup/index.js.map +0 -1
  115. package/dist/components/fields/RichTextEditor/RichTextEditor.d.ts +0 -13
  116. package/dist/components/fields/RichTextEditor/RichTextEditorContent.d.ts +0 -4
  117. package/dist/components/fields/RichTextEditor/index.d.ts +0 -2
  118. package/dist/components/fields/RichTextEditor/index.js +0 -2
  119. package/dist/components/fields/RichTextEditor/useRichTextEditorExtensions.d.ts +0 -10
  120. package/dist/components/fields/Select/Select.d.ts +0 -16
  121. package/dist/components/fields/Select/index.d.ts +0 -1
  122. package/dist/components/fields/Select/index.js +0 -129
  123. package/dist/components/fields/Select/index.js.map +0 -1
  124. package/dist/components/fields/Switch/Switch.d.ts +0 -13
  125. package/dist/components/fields/Switch/index.d.ts +0 -1
  126. package/dist/components/fields/Switch/index.js +0 -68
  127. package/dist/components/fields/Switch/index.js.map +0 -1
  128. package/dist/components/fields/TextField/TextField.d.ts +0 -18
  129. package/dist/components/fields/TextField/index.d.ts +0 -1
  130. package/dist/components/fields/TextField/index.js +0 -108
  131. package/dist/components/fields/TextField/index.js.map +0 -1
  132. package/dist/components/fields/ToggleButtonGroup/ToggleButtonGroup.d.ts +0 -14
  133. package/dist/components/fields/ToggleButtonGroup/index.d.ts +0 -1
  134. package/dist/components/fields/ToggleButtonGroup/index.js +0 -57
  135. package/dist/components/fields/ToggleButtonGroup/index.js.map +0 -1
  136. package/dist/components/fields/TransferList/TransferList.d.ts +0 -16
  137. package/dist/components/fields/TransferList/index.d.ts +0 -1
  138. package/dist/components/fields/TransferList/index.js +0 -2
  139. package/dist/components/fields/UploadButton/UploadButton.d.ts +0 -15
  140. package/dist/components/fields/UploadButton/index.d.ts +0 -1
  141. package/dist/components/fields/UploadButton/index.js +0 -2
  142. package/dist/components/helpers/FormFieldHelperText/FormFieldHelperText.d.ts +0 -8
  143. package/dist/components/helpers/FormFieldHelperText/index.d.ts +0 -1
  144. package/dist/components/helpers/FormFieldHelperText/index.js +0 -50
  145. package/dist/components/helpers/FormFieldHelperText/index.js.map +0 -1
  146. package/dist/components/helpers/FormFieldLoadingIndicator/FormFieldLoadingIndicator.d.ts +0 -4
  147. package/dist/components/helpers/FormFieldLoadingIndicator/index.d.ts +0 -1
  148. package/dist/components/helpers/FormFieldLoadingIndicator/index.js +0 -16
  149. package/dist/components/helpers/FormFieldLoadingIndicator/index.js.map +0 -1
  150. package/dist/components/helpers/GenericForm/GenericForm.d.ts +0 -18
  151. package/dist/components/helpers/GenericForm/index.d.ts +0 -1
  152. package/dist/components/helpers/GenericForm/index.js +0 -156
  153. package/dist/components/helpers/GenericForm/index.js.map +0 -1
  154. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.d.ts +0 -1
  155. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.js +0 -18
  156. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.js.map +0 -1
  157. package/dist/hooks/useIsFormFieldRequiredFromSchema/useIsFormFieldRequiredFromSchema.d.ts +0 -4
  158. package/dist/models/form.d.ts +0 -112
  159. package/dist/models/form.js +0 -8
  160. package/dist/models/form.js.map +0 -1
  161. package/dist/setup/setup.d.ts +0 -1
  162. package/dist/setup/setup.js +0 -166
  163. package/dist/setup/setup.js.map +0 -1
  164. package/dist/utils/FormUtil/FormUtil.d.ts +0 -19
  165. package/dist/utils/FormUtil/index.d.ts +0 -1
  166. package/dist/utils/FormUtil/index.js +0 -2
  167. package/dist/utils/SchemaUtil/SchemaUtil.d.ts +0 -9
  168. package/dist/utils/SchemaUtil/index.d.ts +0 -1
  169. package/dist/utils/SchemaUtil/index.js +0 -30
  170. package/dist/utils/SchemaUtil/index.js.map +0 -1
@@ -1,97 +1,18 @@
1
1
  {
2
2
  "translation": {
3
- "Add new link": "Add new link",
4
- "Cancel changes": "Cancel changes",
5
- "clear": "clear",
6
- "Clear": "Clear",
7
- "Clear checkbox selection": "Clear checkbox selection",
8
- "Clear date field": "Clear date field",
9
- "Clear date range": "Clear date range",
10
- "Clear number range": "Clear number range",
11
- "Clear rich text editor content": "Clear rich text editor content",
12
- "Clear selection": "Clear selection",
13
- "Clear text field": "Clear text field",
14
- "Delete column": "Delete column",
15
- "Delete row": "Delete row",
16
- "Delete table": "Delete table",
17
- "Do not enter any personal information here (such as name, address, telephone number or government-issued personal identifier).": "Do not enter any personal information here (such as name, address, telephone number or government-issued personal identifier).",
18
- "Edit link": "Edit link",
19
- "Field is mandatory": "Field is mandatory",
20
- "Filter": "Filter",
21
- "From": "From",
22
- "Insert column after": "Insert column after",
23
- "Insert column before": "Insert column before",
24
- "Insert row above": "Insert row above",
25
- "Insert row below": "Insert row below",
26
- "Loading...": "Loading...",
27
- "Merge cells": "Merge cells",
28
- "move all left": "move all left",
29
- "move all right": "move all right",
30
- "move selected left": "move selected left",
31
- "move selected right": "move selected right",
32
- "No": "No",
33
- "No results": "No results",
34
- "Only a valid email address is allowed.": "Only a valid email address is allowed.",
35
- "Only a valid number is allowed. (signed, 0 decimal places)": "Only a valid number is allowed. (signed, 0 decimal places)",
36
- "Only a valid number is allowed. (signed, maximum 1 decimal place, use '.' as decimal separator)": "Only a valid number is allowed. (signed, maximum 1 decimal place, use '.' as decimal separator)",
37
- "Only a valid number is allowed. (signed, maximum 2 decimal place, use '.' as decimal separator)": "Only a valid number is allowed. (signed, maximum 2 decimal place, use '.' as decimal separator)",
38
- "Only a valid number is allowed. (signed, maximum 3 decimal place, use '.' as decimal separator)": "Only a valid number is allowed. (signed, maximum 3 decimal place, use '.' as decimal separator)",
39
- "Only a valid number is allowed. (signed, maximum 4 decimal place, use '.' as decimal separator)": "Only a valid number is allowed. (signed, maximum 4 decimal place, use '.' as decimal separator)",
40
- "Only a valid number is allowed. (signed, maximum 5 decimal place, use '.' as decimal separator)": "Only a valid number is allowed. (signed, maximum 5 decimal place, use '.' as decimal separator)",
41
- "Only a valid number is allowed. (signed, maximum 6 decimal place, use '.' as decimal separator)": "Only a valid number is allowed. (signed, maximum 6 decimal place, use '.' as decimal separator)",
42
- "Only a valid regex is allowed.": "Only a valid regex is allowed.",
43
- "Only a valid time month notation is allowed. For example: 2021-01": "Only a valid time month notation is allowed. For example: 2021-01",
44
- "Only a valid time quarter notation is allowed. For example: 2021-Q1": "Only a valid time quarter notation is allowed. For example: 2021-Q1",
45
- "Only a valid time week is allowed. For example: 2021-W01": "Only a valid time week is allowed. For example: 2021-W01",
46
- "Only a valid time year notation is allowed. For example: 2021": "Only a valid time year notation is allowed. For example: 2021",
47
- "Only a valid url is allowed.": "Only a valid url is allowed.",
48
- "Only a valid UUID is allowed.": "Only a valid UUID is allowed.",
49
- "Only digits and letters (including diacritics) are allowed.": "Only digits and letters (including diacritics) are allowed.",
50
- "Only digits and letters (without diacritics) are allowed.": "Only digits and letters (without diacritics) are allowed.",
51
- "Only digits, letters (including diacritics) and punctuation marks are allowed.": "Only digits, letters (including diacritics) and punctuation marks are allowed.",
52
- "Only freeform text characters are allowed.": "Only freeform text characters are allowed.",
53
- "Only letters (including diacritics) are allowed.": "Only letters (including diacritics) are allowed.",
54
- "Only letters (without diacritics) are allowed.": "Only letters (without diacritics) are allowed.",
55
- "Only valid latitude and longitude coordinates are allowed. For example: 13.7368, 100.5627": "Only valid latitude and longitude coordinates are allowed. For example: 13.7368, 100.5627",
56
- "Privacy notice": "Privacy notice",
57
- "Remove link": "Remove link",
58
- "Reset": "Reset",
59
- "Reset selection": "Reset selection",
60
- "Save changes": "Save changes",
61
- "Select all": "Select all",
62
- "Should be a positive digit": "Should be a positive digit",
63
- "Should be a valid email address": "Should be a valid email address",
64
- "Should be a valid URL": "Should be a valid URL",
65
- "Should be an integer": "Should be an integer",
66
- "Should be before ${max}": "Should be before ${max}",
67
- "Should be greater or equal to ${min}": "Should be greater or equal to ${min}",
68
- "Should be higher than ${more}": "Should be higher than ${more}",
69
- "Should be later than ${min}": "Should be later than ${min}",
70
- "Should be less than ${less}": "Should be less than ${less}",
71
- "Should be lower or equal to ${max}": "Should be lower or equal to ${max}",
72
- "Should be negative digit": "Should be negative digit",
73
- "Should be precisely ${length} characters long": "Should be precisely ${length} characters long",
74
- "Should contain at least ${min} characters": "Should contain at least ${min} characters",
75
- "Should contain at least ${min} option(s)": "Should contain at least ${min} option(s)",
76
- "Should contain at most ${max} characters": "Should contain at most ${max} characters",
77
- "Should contain at most ${max} option(s)": "Should contain at most ${max} option(s)",
78
- "Should not contain leading or trailing spaces": "Should not contain leading or trailing spaces",
79
- "Should only contain lowercase characters": "Should only contain lowercase characters",
80
- "Should only contain uppercase characters": "Should only contain uppercase characters",
81
- "Split cell": "Split cell",
82
- "Text content": "Text content",
83
- "This value is invalid": "This value is invalid",
84
- "This value is invalid.": "This value is invalid.",
85
- "To": "To",
86
- "Toggle header cell": "Toggle header cell",
87
- "Toggle header column": "Toggle header column",
88
- "Toggle header row": "Toggle header row",
89
- "Update this link": "Update this link",
90
- "Upload file ({{accept}})": "Upload file ({{accept}})",
91
- "Upload files ({{accept}})": "Upload files ({{accept}})",
92
- "URL": "URL",
93
- "Value": "Value",
94
- "Value is invalid": "Value is invalid",
95
- "Yes": "Yes"
3
+ "Cancel": "Cancel",
4
+ "Close": "Close",
5
+ "Close dialog": "Close dialog",
6
+ "Close dialog with title: {{title}}": "Close dialog with title: {{title}}",
7
+ "Completed: ": "Completed: ",
8
+ "Copied to clipboard": "Copied to clipboard",
9
+ "Copy to clipboard": "Copy to clipboard",
10
+ "Current: ": "Current: ",
11
+ "Error": "Error",
12
+ "Loading": "Loading",
13
+ "Menu": "Menu",
14
+ "OK": "OK",
15
+ "Optional": "Optional",
16
+ "This is taking longer than expected. We are still trying.": "This is taking longer than expected. We are still trying."
96
17
  }
97
18
  }
@@ -1,97 +1,18 @@
1
1
  {
2
2
  "translation": {
3
- "Add new link": "Nieuwe link toevoegen",
4
- "Cancel changes": "Wijzigingen annuleren",
5
- "clear": "wissen",
6
- "Clear": "Wissen",
7
- "Clear checkbox selection": "Selectievakje selectie wissen",
8
- "Clear date field": "Datumveld leegmaken",
9
- "Clear date range": "Wis datumbereik",
10
- "Clear number range": "Getalsbereik wissen",
11
- "Clear rich text editor content": "Inhoud van teksteditor wissen",
12
- "Clear selection": "Selectie wissen",
13
- "Clear text field": "Tekstveld leegmaken",
14
- "Delete column": "Kolom verwijderen",
15
- "Delete row": "Rij verwijderen",
16
- "Delete table": "Tabel verwijderen",
17
- "Do not enter any personal information here (such as name, address, telephone number or government-issued personal identifier).": "Voer hier geen persoonlijke informatie in (zoals naam, adres, telefoonnummer of door de overheid uitgegeven persoonlijk identificatienummer).",
18
- "Edit link": "Link bewerken",
19
- "Field is mandatory": "Veld is verplicht",
20
- "Filter": "Filter",
21
- "From": "Van",
22
- "Insert column after": "Kolom invoegen na",
23
- "Insert column before": "Kolom invoegen voor",
24
- "Insert row above": "Rij invoegen boven",
25
- "Insert row below": "Rij invoegen onder",
26
- "Loading...": "Laden...",
27
- "Merge cells": "Cellen samenvoegen",
28
- "move all left": "alles naar links",
29
- "move all right": "alles naar rechts",
30
- "move selected left": "selectie naar links",
31
- "move selected right": "selectie naar rechts",
32
- "No": "Nee",
33
- "No results": "Geen resultaten",
34
- "Only a valid email address is allowed.": "Alleen een geldig e-mailadres is toegestaan.",
35
- "Only a valid number is allowed. (signed, 0 decimal places)": "Alleen een geldig getal is toegestaan. (met teken, 0 decimalen)",
36
- "Only a valid number is allowed. (signed, maximum 1 decimal place, use '.' as decimal separator)": "Alleen een geldig getal is toegestaan. (met teken, maximaal 1 decimaal, gebruik '.' als decimaalteken)",
37
- "Only a valid number is allowed. (signed, maximum 2 decimal place, use '.' as decimal separator)": "Alleen een geldig getal is toegestaan. (met teken, maximaal 2 decimalen, gebruik '.' als decimaalteken)",
38
- "Only a valid number is allowed. (signed, maximum 3 decimal place, use '.' as decimal separator)": "Alleen een geldig getal is toegestaan. (met teken, maximaal 3 decimalen, gebruik '.' als decimaalteken)",
39
- "Only a valid number is allowed. (signed, maximum 4 decimal place, use '.' as decimal separator)": "Alleen een geldig getal is toegestaan. (met teken, maximaal 4 decimalen, gebruik '.' als decimaalteken)",
40
- "Only a valid number is allowed. (signed, maximum 5 decimal place, use '.' as decimal separator)": "Alleen een geldig getal is toegestaan. (met teken, maximaal 5 decimalen, gebruik '.' als decimaalteken)",
41
- "Only a valid number is allowed. (signed, maximum 6 decimal place, use '.' as decimal separator)": "Alleen een geldig getal is toegestaan. (met teken, maximaal 6 decimalen, gebruik '.' als decimaalteken)",
42
- "Only a valid regex is allowed.": "Alleen een geldige reguliere expressie is toegestaan.",
43
- "Only a valid time month notation is allowed. For example: 2021-01": "Alleen een geldige maandnotatie is toegestaan. Bijvoorbeeld: 2021-01",
44
- "Only a valid time quarter notation is allowed. For example: 2021-Q1": "Alleen een geldige kwartaalnotatie is toegestaan. Bijvoorbeeld: 2021-Q1",
45
- "Only a valid time week is allowed. For example: 2021-W01": "Alleen een geldige weeknotatie is toegestaan. Bijvoorbeeld: 2021-W01",
46
- "Only a valid time year notation is allowed. For example: 2021": "Alleen een geldige jaarnotatie is toegestaan. Bijvoorbeeld: 2021",
47
- "Only a valid url is allowed.": "Alleen een geldige URL is toegestaan.",
48
- "Only a valid UUID is allowed.": "Alleen een geldige UUID is toegestaan.",
49
- "Only digits and letters (including diacritics) are allowed.": "Alleen cijfers en letters (inclusief diakritische tekens) zijn toegestaan.",
50
- "Only digits and letters (without diacritics) are allowed.": "Alleen cijfers en letters (zonder diakritische tekens) zijn toegestaan.",
51
- "Only digits, letters (including diacritics) and punctuation marks are allowed.": "Alleen cijfers, letters (inclusief diakritische tekens) en leestekens zijn toegestaan.",
52
- "Only freeform text characters are allowed.": "Alleen vrije tekst tekens zijn toegestaan.",
53
- "Only letters (including diacritics) are allowed.": "Alleen letters (inclusief diakritische tekens) zijn toegestaan.",
54
- "Only letters (without diacritics) are allowed.": "Alleen letters (zonder diakritische tekens) zijn toegestaan.",
55
- "Only valid latitude and longitude coordinates are allowed. For example: 13.7368, 100.5627": "Alleen geldige breedte- en lengtegraadcoördinaten zijn toegestaan. Bijvoorbeeld: 13.7368, 100.5627",
56
- "Privacy notice": "Privacyverklaring",
57
- "Remove link": "Link verwijderen",
58
- "Reset": "Resetten",
59
- "Reset selection": "Selectie resetten",
60
- "Save changes": "Wijzigingen opslaan",
61
- "Select all": "Alles selecteren",
62
- "Should be a positive digit": "Moet een positief getal zijn",
63
- "Should be a valid email address": "Moet een geldig e-mailadres zijn",
64
- "Should be a valid URL": "Moet een geldige URL zijn",
65
- "Should be an integer": "Moet een geheel getal zijn",
66
- "Should be before ${max}": "Moet voor ${max} zijn",
67
- "Should be greater or equal to ${min}": "Moet groter dan of gelijk aan ${min} zijn",
68
- "Should be higher than ${more}": "Moet hoger zijn dan ${more}",
69
- "Should be later than ${min}": "Moet later zijn dan ${min}",
70
- "Should be less than ${less}": "Moet kleiner zijn dan ${less}",
71
- "Should be lower or equal to ${max}": "Moet kleiner dan of gelijk aan ${max} zijn",
72
- "Should be negative digit": "Moet een negatief getal zijn",
73
- "Should be precisely ${length} characters long": "Moet precies ${length} tekens lang zijn",
74
- "Should contain at least ${min} characters": "Moet minimaal ${min} tekens bevatten",
75
- "Should contain at least ${min} option(s)": "Moet minimaal ${min} optie(s) bevatten",
76
- "Should contain at most ${max} characters": "Mag maximaal ${max} tekens bevatten",
77
- "Should contain at most ${max} option(s)": "Mag maximaal ${max} optie(s) bevatten",
78
- "Should not contain leading or trailing spaces": "Mag geen voor- of achterliggende spaties bevatten",
79
- "Should only contain lowercase characters": "Mag alleen kleine letters bevatten",
80
- "Should only contain uppercase characters": "Mag alleen hoofdletters bevatten",
81
- "Split cell": "Cel splitsen",
82
- "Text content": "Tekst inhoud",
83
- "This value is invalid": "Deze waarde is ongeldig",
84
- "This value is invalid.": "Deze waarde is ongeldig.",
85
- "To": "Tot",
86
- "Toggle header cell": "Koptekst cel omschakelen",
87
- "Toggle header column": "Koptekst kolom omschakelen",
88
- "Toggle header row": "Koptekst rij omschakelen",
89
- "Update this link": "Deze link bijwerken",
90
- "Upload file ({{accept}})": "Upload bestand ({{accept}})",
91
- "Upload files ({{accept}})": "Upload bestanden ({{accept}})",
92
- "URL": "URL",
93
- "Value": "Waarde",
94
- "Value is invalid": "Waarde is ongeldig",
95
- "Yes": "Ja"
3
+ "Cancel": "Annuleren",
4
+ "Close": "Sluiten",
5
+ "Close dialog": "Dialoog sluiten",
6
+ "Close dialog with title: {{title}}": "Dialoog met titel {{title}} sluiten",
7
+ "Completed: ": "Voltooid: ",
8
+ "Copied to clipboard": "Gekopieerd naar klembord",
9
+ "Copy to clipboard": "Kopieer naar klembord",
10
+ "Current: ": "Huidig: ",
11
+ "Error": "Fout",
12
+ "Loading": "Laden",
13
+ "Menu": "Menu",
14
+ "OK": "OK",
15
+ "Optional": "Optioneel",
16
+ "This is taking longer than expected. We are still trying.": "Dit duurt langer dan verwacht. We proberen het nog steeds."
96
17
  }
97
18
  }
@@ -0,0 +1,17 @@
1
+ import { SxProps } from '@mui/material';
2
+ import { ReactElement, ReactNode } from 'react';
3
+ export interface MenuItemData {
4
+ active?: boolean;
5
+ autoCloseDisabled?: boolean;
6
+ callback?: () => void;
7
+ checked?: 'false' | 'mixed' | 'true';
8
+ disabled?: boolean;
9
+ divider?: boolean;
10
+ items?: MenuItemData[];
11
+ label?: string;
12
+ leftIcon?: ReactNode;
13
+ rightIcon?: ReactNode;
14
+ sx?: SxProps;
15
+ tooltip?: ReactElement | string;
16
+ uid?: string;
17
+ }
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gen-epix/ui-core-components",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "license": "EUPL-1.2",
5
5
  "repository": {
6
6
  "type": "git",
@@ -69,7 +69,7 @@
69
69
  }
70
70
  },
71
71
  "peerDependencies": {
72
- "@gen-epix/ui-core": "^3.0.0",
72
+ "@gen-epix/ui-core": "^3.0.1",
73
73
  "@mui/icons-material": "*",
74
74
  "@mui/material": "*",
75
75
  "@mui/utils": "*",
@@ -86,7 +86,7 @@
86
86
  },
87
87
  "devDependencies": {
88
88
  "@gen-epix/eslint-config": "0.5.0",
89
- "@gen-epix/ui-core": "^3.0.0",
89
+ "@gen-epix/ui-core": "^3.0.1",
90
90
  "@gen-epix/translation-util": "0.2.0",
91
91
  "@mui/icons-material": "9.4.0",
92
92
  "@mui/material": "9.4.0",
@@ -1,2 +0,0 @@
1
- /* eslint-disable import-x/unambiguous */
2
- /// <reference types="./yup" />
@@ -1,30 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
- import type { StringSchema } from 'yup';
3
-
4
- declare module 'yup' {
5
- interface StringSchema {
6
- alpha(): StringSchema;
7
- alphaNumeric(): StringSchema;
8
- code(): StringSchema;
9
- decimal0(): StringSchema;
10
- decimal1(): StringSchema;
11
- decimal2(): StringSchema;
12
- decimal3(): StringSchema;
13
- decimal4(): StringSchema;
14
- decimal5(): StringSchema;
15
- decimal6(): StringSchema;
16
- email(): StringSchema;
17
- extendedAlphaNumeric(): StringSchema;
18
- freeFormText(): StringSchema;
19
- latLong(): StringSchema;
20
- regex(): StringSchema;
21
- strictAlpha(): StringSchema;
22
- strictAlphaNumeric(): StringSchema;
23
- timeMonth(): StringSchema;
24
- timeQuarter(): StringSchema;
25
- timeWeek(): StringSchema;
26
- timeYear(): StringSchema;
27
- url(): StringSchema;
28
- uuid4(): StringSchema;
29
- }
30
- }
@@ -1,229 +0,0 @@
1
- import { n as e } from "./rolldown-runtime.js";
2
- import { t } from "./FormUtil.js";
3
- import { i as n, t as r } from "./index.esm.js";
4
- import { FormFieldHelperText as i } from "../components/helpers/FormFieldHelperText/index.js";
5
- import { FormFieldLoadingIndicator as a } from "../components/helpers/FormFieldLoadingIndicator/index.js";
6
- import { t as o } from "./classnames.js";
7
- import { createContext as s, createElement as c, use as l, useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as ee } from "react";
8
- import { useTranslation as te } from "react-i18next";
9
- import { Autocomplete as ne, Box as m, Checkbox as h, Chip as re, Divider as g, FormControl as ie, Paper as _, Stack as ae, TextField as oe } from "@mui/material";
10
- import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
11
- import { TestIdUtil as se } from "@gen-epix/ui-core/utils/TestIdUtil";
12
- import x from "@mui/icons-material/CheckBoxOutlineBlank";
13
- import S from "@mui/icons-material/CheckBox";
14
- import C from "@mui/icons-material/IndeterminateCheckBox";
15
- //#region src/components/fields/Autocomplete/AutocompleteSelectAllContext.tsx
16
- var w = /* @__PURE__ */ e(o(), 1), ce = s(null), le = ({ children: e, ...t }) => {
17
- let n = l(ce), r = u(() => {
18
- if (!n) return;
19
- let { currentValues: e, enabledOptionValues: t, handleSelectAll: r } = n, i = e.filter((e) => t.includes(e)).length;
20
- r(t.length > 0 && i === t.length, e);
21
- }, [n]), i = u((e) => {
22
- e.preventDefault();
23
- }, []), a = n?.currentValues ?? [], o = n?.enabledOptionValues ?? [], s = a.filter((e) => o.includes(e)).length, c = o.length > 0 && s === o.length, d = s > 0 && !c;
24
- return /* @__PURE__ */ b(_, {
25
- ...t,
26
- children: [!!n && /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ b(m, {
27
- onClick: r,
28
- onMouseDown: i,
29
- sx: {
30
- "&:hover": { bgcolor: "action.hover" },
31
- alignItems: "center",
32
- cursor: "pointer",
33
- display: "flex"
34
- },
35
- children: [/* @__PURE__ */ y(h, {
36
- checked: c,
37
- checkedIcon: /* @__PURE__ */ y(S, {}),
38
- icon: /* @__PURE__ */ y(x, {}),
39
- indeterminate: d,
40
- indeterminateIcon: /* @__PURE__ */ y(C, {}),
41
- style: { marginRight: 8 }
42
- }), n.selectAllLabel]
43
- }), /* @__PURE__ */ y(g, {})] }), e]
44
- });
45
- }, T = ({ disabled: e = !1, groupValues: o = !1, infoMessage: s, label: l, loading: m = !1, multiple: g, name: _, onChange: v, options: C, required: T = !1, shouldSortOptions: E, warningMessage: D }) => {
46
- let { t: O } = te(), { control: ue, formState: { errors: de }, setValue: k, watch: fe } = n(), A = t.getFieldErrorMessage(de, _), j = p(null), [M, pe] = ee(""), N = p(v);
47
- d(() => {
48
- N.current = v;
49
- }, [v]);
50
- let P = !!A, F = !!D && !P, I = f(() => E ? structuredClone(C).sort((e, t) => e.label.localeCompare(t.label)) : C, [C, E]), { mappedOptions: L, optionValues: R } = f(() => {
51
- let e = [], t = /* @__PURE__ */ new Map();
52
- return I.forEach((n) => {
53
- e.push(n.value), t.set(n.value, n);
54
- }), {
55
- mappedOptions: t,
56
- optionValues: e
57
- };
58
- }, [I]), z = u((e) => m ? O`Loading...` : L.get(e)?.label, [
59
- m,
60
- L,
61
- O
62
- ]), B = u((e, t) => e === t, []), V = u((e) => L.get(e)?.disabled, [L]), H = u((e) => L.get(e)?.groupByValue, [L]), U = u((e) => String(L.get(e)?.value), [L]), W = u((e, t, n) => /* @__PURE__ */ b("li", {
63
- "aria-disabled": e["aria-disabled"],
64
- "aria-selected": e["aria-selected"],
65
- className: e.className,
66
- "data-option-index": e["data-option-index"],
67
- id: e.id,
68
- onClick: e.onClick,
69
- onMouseMove: e.onMouseMove,
70
- onTouchStart: e.onTouchStart,
71
- role: e.role,
72
- style: {
73
- margin: 0,
74
- padding: 0
75
- },
76
- tabIndex: e.tabIndex,
77
- children: [/* @__PURE__ */ y(h, {
78
- checked: n.selected,
79
- checkedIcon: /* @__PURE__ */ y(S, {}),
80
- icon: /* @__PURE__ */ y(x, {}),
81
- style: { marginRight: 8 }
82
- }), z(t)]
83
- }, U(t)), [U, z]), G = u((e, t) => {
84
- pe(t);
85
- }, []), K = u((t) => {
86
- let n = /* @__PURE__ */ y(i, {
87
- errorMessage: A,
88
- infoMessage: s,
89
- warningMessage: D
90
- });
91
- return /* @__PURE__ */ y(oe, {
92
- disabled: e || m,
93
- error: P,
94
- fullWidth: t.fullWidth,
95
- helperText: n,
96
- id: t.id,
97
- inputRef: j,
98
- label: l,
99
- size: t.size,
100
- slotProps: {
101
- formHelperText: { className: (0, w.default)({ "Mui-warning": F }) },
102
- htmlInput: { ...t.slotProps.htmlInput },
103
- input: {
104
- ...t.slotProps.input,
105
- className: (0, w.default)(t.slotProps.input.className, { "Mui-warning": F })
106
- },
107
- inputLabel: {
108
- ...t.slotProps.inputLabel,
109
- className: (0, w.default)({ "Mui-warning": F }),
110
- required: T && !e
111
- }
112
- },
113
- variant: "outlined"
114
- });
115
- }, [
116
- e,
117
- A,
118
- P,
119
- F,
120
- s,
121
- l,
122
- m,
123
- T,
124
- D
125
- ]), q = u((e, t) => /* @__PURE__ */ y(ae, {
126
- direction: "row",
127
- sx: { flexWrap: "wrap" },
128
- children: (Array.isArray(e) ? e : [e]).map((e, n) => {
129
- let r = t({ index: n }), i = L.get(e);
130
- return /* @__PURE__ */ c(re, {
131
- ...r,
132
- key: String(e),
133
- label: z(e),
134
- onDelete: i?.disabled ? void 0 : r.onDelete,
135
- size: "small"
136
- });
137
- })
138
- }), [z, L]), J = u((e) => (t, n) => {
139
- v && v(n), e(n);
140
- }, [v]), Y = u((e, t) => t.inputValue ? I.filter((e) => e.label.toLowerCase().includes(t.inputValue.toLowerCase())).map((e) => e.value) : I.map((e) => e.value), [I]), X = f(() => R.filter((e) => !L.get(e)?.disabled), [R, L]), Z = fe(_), Q = f(() => g && Array.isArray(Z) ? Z : [], [g, Z]), $ = u((e, t) => {
141
- let n = e ? t.filter((e) => L.get(e)?.disabled) : [.../* @__PURE__ */ new Set([...t, ...X])];
142
- N.current?.(n), k(_, n, {
143
- shouldDirty: !0,
144
- shouldTouch: !0,
145
- shouldValidate: !0
146
- });
147
- }, [
148
- X,
149
- L,
150
- _,
151
- k
152
- ]), me = f(() => ({
153
- currentValues: Q,
154
- enabledOptionValues: X,
155
- handleSelectAll: $,
156
- selectAllLabel: O`Select all`
157
- }), [
158
- Q,
159
- X,
160
- $,
161
- O
162
- ]), he = u(({ field: { onBlur: t, onChange: n, ref: r, value: i } }) => (r({ focus: () => {
163
- j?.current?.focus();
164
- } }), /* @__PURE__ */ y(ne, {
165
- autoComplete: !0,
166
- autoHighlight: !0,
167
- disableClearable: T,
168
- disableCloseOnSelect: g,
169
- disabled: e || m,
170
- filterOptions: Y,
171
- getOptionDisabled: V,
172
- getOptionKey: U,
173
- getOptionLabel: z,
174
- groupBy: o ? H : void 0,
175
- inputValue: g ? M : void 0,
176
- isOptionEqualToValue: B,
177
- multiple: g,
178
- noOptionsText: O`No results`,
179
- onBlur: t,
180
- onChange: J(n),
181
- onInputChange: g ? G : void 0,
182
- options: R,
183
- renderInput: K,
184
- renderOption: g ? W : void 0,
185
- renderValue: g ? q : void 0,
186
- slots: g ? { paper: le } : void 0,
187
- value: i
188
- })), [
189
- T,
190
- g,
191
- e,
192
- m,
193
- Y,
194
- V,
195
- U,
196
- z,
197
- o,
198
- H,
199
- M,
200
- B,
201
- O,
202
- J,
203
- G,
204
- R,
205
- K,
206
- W,
207
- q
208
- ]);
209
- return /* @__PURE__ */ y(ce, {
210
- value: g ? me : null,
211
- children: /* @__PURE__ */ b(ie, {
212
- ...se.createAttributes("Autocomplete", {
213
- label: l,
214
- name: _
215
- }),
216
- fullWidth: !0,
217
- children: [/* @__PURE__ */ y(r, {
218
- control: ue,
219
- defaultValue: null,
220
- name: _,
221
- render: he
222
- }), !!m && /* @__PURE__ */ y(a, {})]
223
- })
224
- });
225
- };
226
- //#endregion
227
- export { T as t };
228
-
229
- //# sourceMappingURL=Autocomplete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Autocomplete.js","names":[],"sources":["../../src/components/fields/Autocomplete/AutocompleteSelectAllContext.tsx","../../src/components/fields/Autocomplete/AutocompleteSelectAllPaper.tsx","../../src/components/fields/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nimport type { AutocompleteSelectAllContextData } from '../../../models/form';\n\nexport const AutocompleteSelectAllContext = createContext<AutocompleteSelectAllContextData | null>(null);\n","import type { MouseEvent } from 'react';\nimport {\n use,\n useCallback,\n} from 'react';\nimport {\n Box,\n Checkbox,\n Divider,\n Paper,\n} from '@mui/material';\nimport type { PaperProps } from '@mui/material';\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport IndeterminateCheckBoxIcon from '@mui/icons-material/IndeterminateCheckBox';\n\nimport { AutocompleteSelectAllContext } from './AutocompleteSelectAllContext';\n\nexport const AutocompleteSelectAllPaper = ({ children, ...props }: PaperProps) => {\n const ctx = use(AutocompleteSelectAllContext);\n\n const onClickSelectAll = useCallback(() => {\n if (!ctx) {\n return;\n }\n const { currentValues, enabledOptionValues, handleSelectAll } = ctx;\n const selCount = currentValues.filter(v => enabledOptionValues.includes(v)).length;\n const curIsAll = enabledOptionValues.length > 0 && selCount === enabledOptionValues.length;\n handleSelectAll(curIsAll, currentValues);\n }, [ctx]);\n\n const onMouseDownSelectAll = useCallback((e: MouseEvent<HTMLElement>) => {\n e.preventDefault();\n }, []);\n\n const currentValues = ctx?.currentValues ?? [];\n const enabledOptionValues = ctx?.enabledOptionValues ?? [];\n const selectedEnabledCount = currentValues.filter(v => enabledOptionValues.includes(v)).length;\n const isAll = enabledOptionValues.length > 0 && selectedEnabledCount === enabledOptionValues.length;\n const isSome = selectedEnabledCount > 0 && !isAll;\n\n return (\n <Paper {...props}>\n {!!ctx && (\n <>\n <Box\n onClick={onClickSelectAll}\n onMouseDown={onMouseDownSelectAll}\n sx={{ '&:hover': { bgcolor: 'action.hover' }, alignItems: 'center', cursor: 'pointer', display: 'flex' }}\n >\n <Checkbox\n checked={isAll}\n checkedIcon={<CheckBoxIcon />}\n icon={<CheckBoxOutlineBlankIcon />}\n indeterminate={isSome}\n indeterminateIcon={<IndeterminateCheckBoxIcon />}\n style={{ marginRight: 8 }}\n />\n {ctx.selectAllLabel}\n </Box>\n <Divider />\n </>\n )}\n {children}\n </Paper>\n );\n};\n","import type {\n HTMLAttributes,\n ReactElement,\n ReactNode,\n SyntheticEvent,\n} from 'react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n Checkbox,\n Chip,\n FormControl,\n Autocomplete as MuiAutocomplete,\n Stack,\n TextField,\n} from '@mui/material';\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport type {\n AutocompleteRenderInputParams,\n AutocompleteRenderOptionState,\n AutocompleteRenderValueGetItemProps,\n AutocompleteValue,\n FilterOptionsState,\n} from '@mui/material';\nimport type {\n ControllerRenderProps,\n FieldValues,\n Path,\n UseControllerReturn,\n} from 'react-hook-form';\nimport {\n Controller,\n useFormContext,\n} from 'react-hook-form';\nimport classnames from 'classnames';\nimport { useTranslation } from 'react-i18next';\nimport { TestIdUtil } from '@gen-epix/ui-core/utils/TestIdUtil';\n\nimport type {\n AutoCompleteOption,\n AutocompleteSelectAllContextData,\n} from '../../../models/form';\nimport { FormUtil } from '../../../utils/FormUtil';\nimport { FormFieldHelperText } from '../../helpers/FormFieldHelperText';\nimport { FormFieldLoadingIndicator } from '../../helpers/FormFieldLoadingIndicator';\n\nimport { AutocompleteSelectAllPaper } from './AutocompleteSelectAllPaper';\nimport { AutocompleteSelectAllContext } from './AutocompleteSelectAllContext';\n\n\nexport type AutocompleteProps<TFieldValues extends FieldValues, TName extends Path<TFieldValues>, TMultiple extends boolean> = {\n readonly disabled?: boolean;\n readonly groupValues?: boolean;\n readonly infoMessage?: string;\n readonly label: string;\n readonly loading?: boolean;\n readonly multiple?: TMultiple;\n readonly name: TName;\n readonly onChange?: (value: AutocompleteValue<TFieldValues[TName], TMultiple, false, false>) => void;\n readonly options: AutoCompleteOption[];\n readonly required?: boolean;\n readonly shouldSortOptions?: boolean;\n readonly warningMessage?: string;\n};\ntype MultipleRenderValueItemProps = ReturnType<AutocompleteRenderValueGetItemProps<true>>;\n\ntype Value = number | string;\n\nexport const Autocomplete = <TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>, TMultiple extends boolean = false>({\n disabled = false,\n groupValues = false,\n infoMessage,\n label,\n loading = false,\n multiple,\n name,\n onChange: onChangeProp,\n options,\n required = false,\n shouldSortOptions,\n warningMessage,\n}: AutocompleteProps<TFieldValues, TName, TMultiple>): ReactElement => {\n const { t } = useTranslation();\n const { control, formState: { errors }, setValue, watch } = useFormContext<TFieldValues>();\n const errorMessage = FormUtil.getFieldErrorMessage(errors, name);\n const inputRef = useRef<HTMLInputElement>(null);\n const [inputValue, setInputValue] = useState('');\n\n const onChangePropRef = useRef(onChangeProp);\n useEffect(() => {\n onChangePropRef.current = onChangeProp;\n }, [onChangeProp]);\n\n const hasError = !!errorMessage;\n const hasWarning = !!warningMessage && !hasError;\n\n const sortedOptions = useMemo(() => {\n if (!shouldSortOptions) {\n return options;\n }\n return structuredClone(options).sort((a, b) => a.label.localeCompare(b.label));\n }, [options, shouldSortOptions]);\n\n const { mappedOptions, optionValues }: { mappedOptions: Map<Value, AutoCompleteOption>; optionValues: Array<Value> } = useMemo(() => {\n const values: Array<Value> = [];\n const mapped = new Map<Value, AutoCompleteOption>();\n sortedOptions.forEach(option => {\n values.push(option.value);\n mapped.set(option.value, option);\n });\n return {\n mappedOptions: mapped,\n optionValues: values,\n };\n }, [sortedOptions]);\n\n const getOptionLabel = useCallback((value: AutoCompleteOption['value']) => loading ? t`Loading...` : mappedOptions.get(value)?.label, [loading, mappedOptions, t]);\n const getIsOptionEqualToValue = useCallback((optionValue: AutoCompleteOption['value'], value: AutoCompleteOption['value']) => optionValue === value, []);\n const getIsOptionDisabled = useCallback((value: AutoCompleteOption['value']): boolean => mappedOptions.get(value)?.disabled, [mappedOptions]);\n const groupBy = useCallback((value: AutoCompleteOption['value']): string => mappedOptions.get(value)?.groupByValue, [mappedOptions]);\n const getOptionKey = useCallback((value: AutoCompleteOption['value']): string => String(mappedOptions.get(value)?.value), [mappedOptions]);\n\n const renderOption = useCallback((props: HTMLAttributes<HTMLLIElement>, option: TFieldValues[TName], state: AutocompleteRenderOptionState): ReactNode => {\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions\n <li\n aria-disabled={props['aria-disabled']}\n aria-selected={props['aria-selected']}\n className={props.className}\n data-option-index={(props as { 'data-option-index': string })['data-option-index']}\n id={props.id}\n key={getOptionKey(option)}\n onClick={props.onClick}\n onMouseMove={props.onMouseMove}\n onTouchStart={props.onTouchStart}\n role={props.role}\n style={{\n margin: 0,\n padding: 0,\n }}\n tabIndex={props.tabIndex}\n >\n <Checkbox\n checked={state.selected}\n checkedIcon={<CheckBoxIcon />}\n icon={<CheckBoxOutlineBlankIcon />}\n style={{ marginRight: 8 }}\n />\n {getOptionLabel(option)}\n </li>\n );\n }, [getOptionKey, getOptionLabel]);\n\n const onMuiAutocompleteInputChange = useCallback((_event: SyntheticEvent, value: string) => {\n setInputValue(value);\n }, []);\n\n const renderInput = useCallback((params: AutocompleteRenderInputParams) => {\n const helperText = (\n <FormFieldHelperText\n errorMessage={errorMessage}\n infoMessage={infoMessage}\n warningMessage={warningMessage}\n />\n );\n\n return (\n <TextField\n disabled={disabled || loading}\n error={hasError}\n fullWidth={params.fullWidth}\n helperText={helperText}\n id={params.id}\n inputRef={inputRef}\n label={label}\n size={params.size}\n slotProps={{\n formHelperText: { className: classnames({ 'Mui-warning': hasWarning }) },\n htmlInput: {\n ...params.slotProps.htmlInput,\n },\n input: {\n ...params.slotProps.input,\n className: classnames(params.slotProps.input.className, {\n 'Mui-warning': hasWarning,\n }),\n },\n inputLabel: {\n ...params.slotProps.inputLabel,\n className: classnames({ 'Mui-warning': hasWarning }),\n required: required && !disabled,\n },\n }}\n variant={'outlined'}\n />\n );\n }, [disabled, errorMessage, hasError, hasWarning, infoMessage, label, loading, required, warningMessage]);\n\n const renderValue = useCallback((values: AutocompleteValue<TFieldValues[TName], TMultiple, false, false>, getItemProps: AutocompleteRenderValueGetItemProps<TMultiple>) => {\n const selectedValues = (Array.isArray(values) ? values : [values]) as Value[];\n\n return (\n <Stack\n direction={'row'}\n sx={{\n flexWrap: 'wrap',\n }}\n >\n {selectedValues.map((value: Value, index: number) => {\n const props = getItemProps({ index }) as MultipleRenderValueItemProps;\n const option = mappedOptions.get(value);\n\n return (\n <Chip\n {...props}\n // eslint-disable-next-line @eslint-react/jsx-no-key-after-spread\n key={String(value)}\n label={getOptionLabel(value)}\n onDelete={option?.disabled ? undefined : props.onDelete}\n size={'small'}\n />\n );\n })}\n </Stack>\n );\n }, [getOptionLabel, mappedOptions]);\n\n const onMuiAutocompleteChange = useCallback((onChange: ControllerRenderProps<TFieldValues, TName>['onChange']) =>\n (_event: SyntheticEvent, value: AutocompleteValue<TFieldValues[TName], TMultiple, false, false>) => {\n if (onChangeProp) {\n onChangeProp(value);\n }\n onChange(value);\n }\n , [onChangeProp]);\n\n const filterOptions = useCallback((_filterableOptions: TFieldValues[TName][], filterState: FilterOptionsState<TFieldValues[TName]>): TFieldValues[TName][] => {\n if (filterState.inputValue) {\n return sortedOptions.filter(option => option.label.toLowerCase().includes(filterState.inputValue.toLowerCase())).map((option) => option.value) as TFieldValues[TName][];\n }\n return sortedOptions.map((option) => option.value) as TFieldValues[TName][];\n }, [sortedOptions]);\n\n const enabledOptionValues = useMemo(() =>\n optionValues.filter(v => !mappedOptions.get(v)?.disabled)\n , [optionValues, mappedOptions]);\n\n const watchedValue = watch(name);\n const currentValues = useMemo(() =>\n multiple && Array.isArray(watchedValue) ? watchedValue as Value[] : []\n , [multiple, watchedValue]);\n\n const handleSelectAll = useCallback((isCurrentlyAll: boolean, curValues: Value[]) => {\n const newValue = isCurrentlyAll\n ? curValues.filter(v => mappedOptions.get(v)?.disabled)\n : [...new Set([...curValues, ...enabledOptionValues])];\n onChangePropRef.current?.(newValue as unknown as AutocompleteValue<TFieldValues[TName], TMultiple, false, false>);\n setValue(name, newValue as TFieldValues[TName], { shouldDirty: true, shouldTouch: true, shouldValidate: true });\n }, [enabledOptionValues, mappedOptions, name, setValue]);\n\n const selectAllContextValue = useMemo<AutocompleteSelectAllContextData>(() => ({\n currentValues,\n enabledOptionValues,\n handleSelectAll,\n selectAllLabel: t`Select all`,\n }), [currentValues, enabledOptionValues, handleSelectAll, t]);\n\n const renderController = useCallback(({ field: { onBlur, onChange, ref, value } }: UseControllerReturn<TFieldValues, TName>) => {\n ref({\n focus: () => {\n inputRef?.current?.focus();\n },\n });\n return (\n <MuiAutocomplete<TFieldValues[TName], TMultiple>\n autoComplete\n autoHighlight\n disableClearable={required as undefined}\n disableCloseOnSelect={multiple}\n disabled={disabled || loading}\n filterOptions={filterOptions}\n getOptionDisabled={getIsOptionDisabled}\n getOptionKey={getOptionKey}\n getOptionLabel={getOptionLabel}\n groupBy={groupValues ? groupBy : undefined}\n inputValue={multiple ? inputValue : undefined}\n isOptionEqualToValue={getIsOptionEqualToValue}\n multiple={multiple}\n noOptionsText={t`No results`}\n onBlur={onBlur}\n onChange={onMuiAutocompleteChange(onChange)}\n onInputChange={multiple ? onMuiAutocompleteInputChange : undefined}\n options={optionValues as TFieldValues[TName]}\n renderInput={renderInput}\n renderOption={multiple ? renderOption : undefined}\n renderValue={multiple ? renderValue : undefined}\n slots={multiple ? { paper: AutocompleteSelectAllPaper } : undefined}\n value={value}\n />\n );\n }, [required, multiple, disabled, loading, filterOptions, getIsOptionDisabled, getOptionKey, getOptionLabel, groupValues, groupBy, inputValue, getIsOptionEqualToValue, t, onMuiAutocompleteChange, onMuiAutocompleteInputChange, optionValues, renderInput, renderOption, renderValue]);\n\n return (\n <AutocompleteSelectAllContext value={multiple ? selectAllContextValue : null}>\n <FormControl\n {...TestIdUtil.createAttributes('Autocomplete', { label, name })}\n fullWidth\n >\n <Controller\n control={control}\n defaultValue={null}\n name={name}\n render={renderController}\n />\n {!!loading && <FormFieldLoadingIndicator />}\n </FormControl>\n </AutocompleteSelectAllContext>\n );\n};\n"],"mappings":"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"}