@sap-ux/ui-components 1.14.0 → 1.14.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 (253) hide show
  1. package/dist/components/Icons.d.ts +150 -150
  2. package/dist/components/Icons.js +628 -628
  3. package/dist/components/UIActionCallout/UIActionCallout.d.ts +64 -64
  4. package/dist/components/UIActionCallout/UIActionCallout.js +67 -67
  5. package/dist/components/UIActionCallout/index.d.ts +1 -1
  6. package/dist/components/UIActionCallout/index.js +17 -17
  7. package/dist/components/UIBreadcrumb/UIBreadcrumb.d.ts +23 -23
  8. package/dist/components/UIBreadcrumb/UIBreadcrumb.js +38 -38
  9. package/dist/components/UIBreadcrumb/index.d.ts +1 -1
  10. package/dist/components/UIBreadcrumb/index.js +17 -17
  11. package/dist/components/UIButton/UIActionButton.d.ts +23 -23
  12. package/dist/components/UIButton/UIActionButton.js +89 -89
  13. package/dist/components/UIButton/UIDefaultButton.d.ts +41 -23
  14. package/dist/components/UIButton/UIDefaultButton.d.ts.map +1 -1
  15. package/dist/components/UIButton/UIDefaultButton.js +255 -237
  16. package/dist/components/UIButton/UIDefaultButton.js.map +1 -1
  17. package/dist/components/UIButton/UIIconButton.d.ts +37 -37
  18. package/dist/components/UIButton/UIIconButton.js +106 -106
  19. package/dist/components/UIButton/UISmallButton.d.ts +34 -34
  20. package/dist/components/UIButton/UISmallButton.js +115 -115
  21. package/dist/components/UIButton/UISplitButton.d.ts +44 -44
  22. package/dist/components/UIButton/UISplitButton.js +86 -86
  23. package/dist/components/UIButton/index.d.ts +7 -7
  24. package/dist/components/UIButton/index.js +21 -21
  25. package/dist/components/UICallout/CalloutCollisionTransform.d.ts +54 -54
  26. package/dist/components/UICallout/CalloutCollisionTransform.js +160 -160
  27. package/dist/components/UICallout/UICallout.d.ts +48 -48
  28. package/dist/components/UICallout/UICallout.js +122 -122
  29. package/dist/components/UICallout/index.d.ts +2 -2
  30. package/dist/components/UICallout/index.js +18 -18
  31. package/dist/components/UICheckbox/UICheckbox.d.ts +34 -34
  32. package/dist/components/UICheckbox/UICheckbox.js +135 -135
  33. package/dist/components/UICheckbox/index.d.ts +1 -1
  34. package/dist/components/UICheckbox/index.js +17 -17
  35. package/dist/components/UIChoiceGroup/UIChoiceGroup.d.ts +28 -28
  36. package/dist/components/UIChoiceGroup/UIChoiceGroup.js +182 -182
  37. package/dist/components/UIChoiceGroup/index.d.ts +1 -1
  38. package/dist/components/UIChoiceGroup/index.js +17 -17
  39. package/dist/components/UIComboBox/UIComboBox.d.ts +208 -208
  40. package/dist/components/UIComboBox/UIComboBox.js +563 -563
  41. package/dist/components/UIComboBox/index.d.ts +1 -1
  42. package/dist/components/UIComboBox/index.js +17 -17
  43. package/dist/components/UIContextualMenu/UIContextualMenu.d.ts +31 -31
  44. package/dist/components/UIContextualMenu/UIContextualMenu.js +126 -126
  45. package/dist/components/UIContextualMenu/UIHighlightMenuOption.d.ts +19 -19
  46. package/dist/components/UIContextualMenu/UIHighlightMenuOption.js +50 -50
  47. package/dist/components/UIContextualMenu/index.d.ts +2 -2
  48. package/dist/components/UIContextualMenu/index.js +18 -18
  49. package/dist/components/UICreateSelect/UICreateSelect.d.ts +36 -36
  50. package/dist/components/UICreateSelect/UICreateSelect.js +172 -172
  51. package/dist/components/UICreateSelect/index.d.ts +1 -1
  52. package/dist/components/UICreateSelect/index.js +17 -17
  53. package/dist/components/UIDatePicker/UIDatePicker.d.ts +49 -49
  54. package/dist/components/UIDatePicker/UIDatePicker.js +72 -72
  55. package/dist/components/UIDatePicker/index.d.ts +1 -1
  56. package/dist/components/UIDatePicker/index.js +17 -17
  57. package/dist/components/UIDialog/UIDialog.d.ts +118 -118
  58. package/dist/components/UIDialog/UIDialog.js +281 -281
  59. package/dist/components/UIDialog/index.d.ts +1 -1
  60. package/dist/components/UIDialog/index.js +17 -17
  61. package/dist/components/UIDropdown/UIDropdown.d.ts +94 -94
  62. package/dist/components/UIDropdown/UIDropdown.js +224 -224
  63. package/dist/components/UIDropdown/index.d.ts +2 -2
  64. package/dist/components/UIDropdown/index.js +18 -18
  65. package/dist/components/UIDropdown/utils.d.ts +20 -20
  66. package/dist/components/UIDropdown/utils.js +43 -43
  67. package/dist/components/UIFlexibleTable/RowActions.d.ts +16 -16
  68. package/dist/components/UIFlexibleTable/RowActions.js +73 -73
  69. package/dist/components/UIFlexibleTable/RowData.d.ts +16 -16
  70. package/dist/components/UIFlexibleTable/RowData.js +111 -111
  71. package/dist/components/UIFlexibleTable/UIFlexibleTable.d.ts +11 -11
  72. package/dist/components/UIFlexibleTable/UIFlexibleTable.js +280 -280
  73. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.d.ts +20 -20
  74. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.js +20 -20
  75. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.d.ts +26 -26
  76. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.js +219 -219
  77. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.d.ts +20 -20
  78. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.js +19 -19
  79. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.d.ts +15 -15
  80. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.js +28 -28
  81. package/dist/components/UIFlexibleTable/index.d.ts +5 -5
  82. package/dist/components/UIFlexibleTable/index.js +21 -21
  83. package/dist/components/UIFlexibleTable/types.d.ts +143 -143
  84. package/dist/components/UIFlexibleTable/types.js +14 -14
  85. package/dist/components/UIFlexibleTable/utils.d.ts +25 -25
  86. package/dist/components/UIFlexibleTable/utils.js +49 -49
  87. package/dist/components/UIFocusZone/UIFocusTrapZone.d.ts +22 -22
  88. package/dist/components/UIFocusZone/UIFocusTrapZone.js +33 -33
  89. package/dist/components/UIFocusZone/UIFocusZone.d.ts +23 -23
  90. package/dist/components/UIFocusZone/UIFocusZone.js +35 -35
  91. package/dist/components/UIFocusZone/index.d.ts +2 -2
  92. package/dist/components/UIFocusZone/index.js +18 -18
  93. package/dist/components/UIIcon/UIIcon.d.ts +24 -24
  94. package/dist/components/UIIcon/UIIcon.js +37 -37
  95. package/dist/components/UIIcon/index.d.ts +1 -1
  96. package/dist/components/UIIcon/index.js +17 -17
  97. package/dist/components/UIInput/UITextInput.d.ts +51 -51
  98. package/dist/components/UIInput/UITextInput.js +244 -244
  99. package/dist/components/UIInput/index.d.ts +1 -1
  100. package/dist/components/UIInput/index.js +17 -17
  101. package/dist/components/UILabel/UILabel.d.ts +30 -30
  102. package/dist/components/UILabel/UILabel.js +64 -64
  103. package/dist/components/UILabel/index.d.ts +1 -1
  104. package/dist/components/UILabel/index.js +17 -17
  105. package/dist/components/UILink/UILink.d.ts +25 -25
  106. package/dist/components/UILink/UILink.js +71 -71
  107. package/dist/components/UILink/index.d.ts +1 -1
  108. package/dist/components/UILink/index.js +17 -17
  109. package/dist/components/UIList/UIList.d.ts +31 -31
  110. package/dist/components/UIList/UIList.js +120 -120
  111. package/dist/components/UIList/index.d.ts +1 -1
  112. package/dist/components/UIList/index.js +17 -17
  113. package/dist/components/UILoader/UILoader.d.ts +27 -27
  114. package/dist/components/UILoader/UILoader.js +78 -78
  115. package/dist/components/UILoader/index.d.ts +1 -1
  116. package/dist/components/UILoader/index.js +17 -17
  117. package/dist/components/UIMessageBar/UIMessageBar.d.ts +25 -25
  118. package/dist/components/UIMessageBar/UIMessageBar.js +56 -56
  119. package/dist/components/UIMessageBar/index.d.ts +1 -1
  120. package/dist/components/UIMessageBar/index.js +17 -17
  121. package/dist/components/UIModal/UIModal.d.ts +23 -23
  122. package/dist/components/UIModal/UIModal.js +43 -43
  123. package/dist/components/UIModal/index.d.ts +1 -1
  124. package/dist/components/UIModal/index.js +17 -17
  125. package/dist/components/UIOverlay/UIOverlay.d.ts +22 -22
  126. package/dist/components/UIOverlay/UIOverlay.js +38 -38
  127. package/dist/components/UIOverlay/index.d.ts +1 -1
  128. package/dist/components/UIOverlay/index.js +17 -17
  129. package/dist/components/UIPersona/UIPersona.d.ts +27 -27
  130. package/dist/components/UIPersona/UIPersona.js +48 -48
  131. package/dist/components/UIPersona/index.d.ts +1 -1
  132. package/dist/components/UIPersona/index.js +17 -17
  133. package/dist/components/UISearchBox/UISearchBox.d.ts +22 -22
  134. package/dist/components/UISearchBox/UISearchBox.js +155 -155
  135. package/dist/components/UISearchBox/index.d.ts +3 -3
  136. package/dist/components/UISearchBox/index.js +17 -17
  137. package/dist/components/UISection/UISection.d.ts +34 -34
  138. package/dist/components/UISection/UISection.js +44 -44
  139. package/dist/components/UISection/UISections.d.ts +249 -249
  140. package/dist/components/UISection/UISections.js +707 -707
  141. package/dist/components/UISection/UISplitter.d.ts +96 -96
  142. package/dist/components/UISection/UISplitter.js +220 -220
  143. package/dist/components/UISection/index.d.ts +3 -3
  144. package/dist/components/UISection/index.js +19 -19
  145. package/dist/components/UISeparator/UISeparator.d.ts +25 -25
  146. package/dist/components/UISeparator/UISeparator.js +65 -65
  147. package/dist/components/UISeparator/index.d.ts +1 -1
  148. package/dist/components/UISeparator/index.js +17 -17
  149. package/dist/components/UITable/UITable-helper.d.ts +88 -88
  150. package/dist/components/UITable/UITable-helper.js +263 -263
  151. package/dist/components/UITable/UITable.d.ts +213 -213
  152. package/dist/components/UITable/UITable.js +779 -779
  153. package/dist/components/UITable/index.d.ts +2 -2
  154. package/dist/components/UITable/index.js +18 -18
  155. package/dist/components/UITable/types.d.ts +77 -77
  156. package/dist/components/UITable/types.js +28 -28
  157. package/dist/components/UITabs/UITabs.d.ts +28 -28
  158. package/dist/components/UITabs/UITabs.js +70 -70
  159. package/dist/components/UITabs/index.d.ts +1 -1
  160. package/dist/components/UITabs/index.js +17 -17
  161. package/dist/components/UIToggle/UIToggle.d.ts +39 -39
  162. package/dist/components/UIToggle/UIToggle.js +181 -181
  163. package/dist/components/UIToggle/index.d.ts +1 -1
  164. package/dist/components/UIToggle/index.js +17 -17
  165. package/dist/components/UIToggleGroup/UIToggleGroup.d.ts +31 -31
  166. package/dist/components/UIToggleGroup/UIToggleGroup.js +139 -139
  167. package/dist/components/UIToggleGroup/UIToggleGroup.types.d.ts +22 -22
  168. package/dist/components/UIToggleGroup/UIToggleGroup.types.js +2 -2
  169. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.d.ts +25 -25
  170. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.js +77 -77
  171. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.d.ts +10 -10
  172. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.js +2 -2
  173. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.d.ts +2 -2
  174. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.js +18 -18
  175. package/dist/components/UIToggleGroup/index.d.ts +2 -2
  176. package/dist/components/UIToggleGroup/index.js +18 -18
  177. package/dist/components/UIToolbar/UIToolbar.d.ts +36 -36
  178. package/dist/components/UIToolbar/UIToolbar.js +104 -104
  179. package/dist/components/UIToolbar/UIToolbarColumn.d.ts +7 -7
  180. package/dist/components/UIToolbar/UIToolbarColumn.js +33 -33
  181. package/dist/components/UIToolbar/UIToolbarDivider.d.ts +27 -27
  182. package/dist/components/UIToolbar/UIToolbarDivider.js +52 -52
  183. package/dist/components/UIToolbar/index.d.ts +3 -3
  184. package/dist/components/UIToolbar/index.js +19 -19
  185. package/dist/components/UITooltip/UITooltip.d.ts +29 -29
  186. package/dist/components/UITooltip/UITooltip.js +77 -77
  187. package/dist/components/UITooltip/UITooltipUtils.d.ts +17 -17
  188. package/dist/components/UITooltip/UITooltipUtils.js +45 -45
  189. package/dist/components/UITooltip/index.d.ts +2 -2
  190. package/dist/components/UITooltip/index.js +18 -18
  191. package/dist/components/UITranslationInput/UIFormattedText.d.ts +46 -46
  192. package/dist/components/UITranslationInput/UIFormattedText.js +121 -121
  193. package/dist/components/UITranslationInput/UILoadButton.d.ts +52 -52
  194. package/dist/components/UITranslationInput/UILoadButton.js +109 -109
  195. package/dist/components/UITranslationInput/UITranslationButton.d.ts +14 -14
  196. package/dist/components/UITranslationInput/UITranslationButton.js +88 -88
  197. package/dist/components/UITranslationInput/UITranslationButton.types.d.ts +67 -67
  198. package/dist/components/UITranslationInput/UITranslationButton.types.js +21 -21
  199. package/dist/components/UITranslationInput/UITranslationInput.d.ts +25 -25
  200. package/dist/components/UITranslationInput/UITranslationInput.js +169 -169
  201. package/dist/components/UITranslationInput/UITranslationUtils.d.ts +64 -64
  202. package/dist/components/UITranslationInput/UITranslationUtils.js +168 -168
  203. package/dist/components/UITranslationInput/defaults.d.ts +2 -2
  204. package/dist/components/UITranslationInput/defaults.js +15 -15
  205. package/dist/components/UITranslationInput/index.d.ts +2 -2
  206. package/dist/components/UITranslationInput/index.js +18 -18
  207. package/dist/components/UITreeDropdown/UITreeDropdown.d.ts +265 -265
  208. package/dist/components/UITreeDropdown/UITreeDropdown.js +660 -660
  209. package/dist/components/UITreeDropdown/index.d.ts +1 -1
  210. package/dist/components/UITreeDropdown/index.js +17 -17
  211. package/dist/components/UIVerticalDivider/UIVerticalDivider.d.ts +23 -23
  212. package/dist/components/UIVerticalDivider/UIVerticalDivider.js +41 -41
  213. package/dist/components/UIVerticalDivider/index.d.ts +1 -1
  214. package/dist/components/UIVerticalDivider/index.js +17 -17
  215. package/dist/components/UIVirtualList/UIAutoSizer.d.ts +22 -22
  216. package/dist/components/UIVirtualList/UIAutoSizer.js +33 -33
  217. package/dist/components/UIVirtualList/UICellMeasurer.d.ts +23 -23
  218. package/dist/components/UIVirtualList/UICellMeasurer.js +33 -33
  219. package/dist/components/UIVirtualList/UIVirtualList.d.ts +43 -43
  220. package/dist/components/UIVirtualList/UIVirtualList.js +70 -70
  221. package/dist/components/UIVirtualList/index.d.ts +3 -3
  222. package/dist/components/UIVirtualList/index.js +19 -19
  223. package/dist/components/index.d.ts +38 -38
  224. package/dist/components/index.js +54 -54
  225. package/dist/helper/ValidationMessage/MessageWrapper.d.ts +17 -17
  226. package/dist/helper/ValidationMessage/MessageWrapper.js +34 -34
  227. package/dist/helper/ValidationMessage/index.d.ts +2 -2
  228. package/dist/helper/ValidationMessage/index.js +18 -18
  229. package/dist/helper/ValidationMessage/utils.d.ts +31 -31
  230. package/dist/helper/ValidationMessage/utils.js +121 -121
  231. package/dist/index.d.ts +2 -2
  232. package/dist/index.js +18 -18
  233. package/dist/utilities/DeepMerge.d.ts +10 -10
  234. package/dist/utilities/DeepMerge.js +48 -48
  235. package/dist/utilities/Dom.d.ts +14 -14
  236. package/dist/utilities/Dom.js +23 -23
  237. package/dist/utilities/Focus.d.ts +14 -14
  238. package/dist/utilities/Focus.js +34 -34
  239. package/dist/utilities/Id.d.ts +2 -2
  240. package/dist/utilities/Id.js +5 -5
  241. package/dist/utilities/Keys.d.ts +2 -2
  242. package/dist/utilities/Keys.js +5 -5
  243. package/dist/utilities/index.d.ts +4 -4
  244. package/dist/utilities/index.js +20 -20
  245. package/package.json +1 -1
  246. package/storybook/494.d8aaa4d7.iframe.bundle.js +1 -0
  247. package/storybook/{930.1b3c5615.iframe.bundle.js → 930.3177b0dc.iframe.bundle.js} +2 -2
  248. package/storybook/iframe.html +3 -3
  249. package/storybook/main.5f68bcca.iframe.bundle.js +1 -0
  250. package/storybook/project.json +1 -1
  251. package/storybook/{runtime~main.f52a1710.iframe.bundle.js → runtime~main.a213c0ae.iframe.bundle.js} +1 -1
  252. package/storybook/494.b98920dd.iframe.bundle.js +0 -1
  253. package/storybook/main.4ed99289.iframe.bundle.js +0 -1
@@ -1,209 +1,209 @@
1
- import React from 'react';
2
- import type { IComboBoxProps } from '@fluentui/react';
3
- import { IComboBox, IComboBoxOption, IOnRenderComboBoxLabelProps, SelectableOptionMenuItemType } from '@fluentui/react';
4
- import './UIComboBox.scss';
5
- import './Callout.scss';
6
- import type { UIMessagesExtendedProps } from '../../helper/ValidationMessage';
7
- export { IComboBoxOption as UIComboBoxOption, IComboBox as UIComboBoxRef, IOnRenderComboBoxLabelProps as UIOnRenderComboBoxLabelProps, SelectableOptionMenuItemType as UISelectableOptionMenuItemType };
8
- export interface UIComboBoxProps extends IComboBoxProps, UIMessagesExtendedProps {
9
- wrapperRef?: React.RefObject<HTMLDivElement>;
10
- highlight?: boolean;
11
- useComboBoxAsMenuMinWidth?: boolean;
12
- openMenuOnClick?: boolean;
13
- onRefresh?(): void;
14
- onHandleChange?(value: string | number): void;
15
- tooltipRefreshButton?: string;
16
- isLoading?: boolean;
17
- isForceEnabled?: boolean;
18
- readOnly?: boolean;
19
- calloutCollisionTransformation?: boolean;
20
- }
21
- export interface UIComboBoxState {
22
- minWidth?: number;
23
- isListHidden?: boolean;
24
- }
25
- /**
26
- * UIComboBox component.
27
- *
28
- * @exports
29
- * @class {UIComboBox}
30
- * @extends {React.Component<UIComboBoxProps, UIComboBoxState>}
31
- */
32
- export declare class UIComboBox extends React.Component<UIComboBoxProps, UIComboBoxState> {
33
- static defaultProps: {
34
- openMenuOnClick: boolean;
35
- };
36
- private comboBox;
37
- private comboboxDomRef;
38
- private menuDomRef;
39
- private selectedElement;
40
- private query;
41
- private ignoreOpenKeys;
42
- private isListHidden;
43
- private calloutCollisionTransform;
44
- /**
45
- * Initializes component properties.
46
- *
47
- * @param {UIComboBoxProps} props
48
- */
49
- constructor(props: UIComboBoxProps);
50
- /**
51
- *
52
- * @param {UIComboBoxProps} nextProps
53
- * @returns {boolean}
54
- */
55
- shouldComponentUpdate(nextProps: UIComboBoxProps): boolean;
56
- /**
57
- * Updates hidden options.
58
- *
59
- * @param {IComboBoxOption[]} opts
60
- */
61
- private updateHiddenOptions;
62
- /**
63
- * Method prevents cursor from jumping to the end of input.
64
- *
65
- * @param {React.FormEvent<IComboBox>} event Combobox event object
66
- */
67
- private setCaretPosition;
68
- /**
69
- * Method filters options and hides unmatched options.
70
- *
71
- * @param {React.FormEvent<IComboBox>} event Combobox event object
72
- */
73
- private onInput;
74
- /**
75
- * Method opens menu when user clicks on Combobox (input or button).
76
- *
77
- * @param event
78
- */
79
- private onClick;
80
- /**
81
- * Method handles keydown event and does following.
82
- * 1. Fix for bug(in fluentui sources) regarding keyboard navigation when last item is not visible.
83
- * 2. Opens list when user enters any key.
84
- *
85
- * @param {React.FormEvent<HTMLInputElement>} event Keydown event
86
- */
87
- private onKeyDown;
88
- /**
89
- * Method resets search query.
90
- */
91
- private reserQuery;
92
- /**
93
- * Method called on combobox option resolvation.
94
- * We should not allow to add any custom option.
95
- *
96
- * @returns {IComboBoxOption[]} Array of combobox items.
97
- */
98
- private onResolveOptions;
99
- /**
100
- * Method called on combobox item render.
101
- * We should pass query to it and avoid rendering if it is hidden.
102
- *
103
- * @param {IComboBoxOption} props Combobox item props.
104
- * @param {Function} defaultRender Combobox item default renderer.
105
- * @returns {JSX.Element | null} Element to render.
106
- */
107
- private onRenderItem;
108
- /**
109
- * Method to get current selected index.
110
- *
111
- * @returns {number | undefined} Selected item index.
112
- */
113
- private getCurrentSelectedIndex;
114
- /**
115
- * Return a value for the placeholder.
116
- *
117
- * @returns {string}
118
- */
119
- private getPlaceholder;
120
- /**
121
- * Method called on combobox item's option/label render.
122
- * We should use different componenet which support highlighting - 'ComboboxSearchOption'.
123
- *
124
- * @param {IComboBoxOption} props Combobox item props.
125
- * @param {Function} defaultRender Combobox item default renderer.
126
- * @returns {JSX.Element | null} Element to render.
127
- */
128
- private readonly onRenderOption;
129
- /**
130
- * Method which determines what is next visible item - it is used to fix bug in fluentui sources..
131
- *
132
- * @param {number} index Current index.
133
- * @param {boolean} forward Dirrection to look up.
134
- * @returns {ComboboxItemInfo | null} Combobox item object.
135
- */
136
- private getNextVisibleItem;
137
- /**
138
- * Method is used as fix for bug(in fluentui sources) regarding keyboard navigation when last item is not visible.
139
- *
140
- * @param {boolean} forward Dirrection to look up.
141
- * @returns {boolean} Returs true if method changed navigation.
142
- */
143
- private _setCyclingNavigation;
144
- /**
145
- * Method for property 'useComboBoxAsMenuMinWidth' - method resolves current dropdown width and updates state with latest value.
146
- * 'minWidth' from state is used to set callout size in render.
147
- */
148
- private calculateMenuMinWidth;
149
- /**
150
- * Method called only when property 'highlight' is true.
151
- * Method called after each value live change - we need recheck if there is any visible item after search is done.
152
- * 1. If there no any visible item - we hide menu callout.
153
- * 2. If there is any visible item - we show menu callout.
154
- *
155
- * @param option Selected option.
156
- * @param index Selected option's index.
157
- * @param value Text value entered in input.
158
- */
159
- private onPendingValueChanged;
160
- /**
161
- * Public method to close menu callout if it is open.
162
- */
163
- dismissMenu(): void;
164
- /**
165
- * Public method to set the focus on the combo box.
166
- */
167
- setFocus(): void;
168
- /**
169
- * Method called only when property 'onRefresh' has been defined.
170
- * It is called when click on the refresh buttonIcon.
171
- */
172
- private handleRefreshButton;
173
- handleChange: IComboBoxProps['onChange'];
174
- private onRenderListLoading;
175
- /**
176
- * Handle multiselect change by avoiding 'blur' event.
177
- * Problem is that blur event uses suggested value and toggles selection for it.
178
- *
179
- * @param {React.FormEvent<IComboBox>} event on change
180
- * @param {IComboBoxOption} option changed option
181
- * @param {number} index option index
182
- * @param {string} value changed value
183
- */
184
- private onMultiSelectChange;
185
- /**
186
- * Method is used to fix bug in fluent ui.
187
- * Bug is for multiselect combobox - when keyboard navigation is used, then scrollbar position is not updated to make selected option visible in viewport.
188
- */
189
- private onScrollToItem;
190
- /**
191
- * Method returns class names string depending on props and component state.
192
- *
193
- * @param {InputValidationMessageInfo} messageInfo Error/warning message if applied
194
- * @returns {string} Class names of root combobox element.
195
- */
196
- private getClassNames;
197
- /**
198
- * Method returns properties for Autofill component(combobox's inner compnent for text input).
199
- * Method handles 'highlight' and 'readOnly' properties.
200
- *
201
- * @returns {IAutofillProps} Properties for Autofill component.
202
- */
203
- private getAutofillProps;
204
- /**
205
- * @returns {JSX.Element}
206
- */
207
- render(): JSX.Element;
208
- }
1
+ import React from 'react';
2
+ import type { IComboBoxProps } from '@fluentui/react';
3
+ import { IComboBox, IComboBoxOption, IOnRenderComboBoxLabelProps, SelectableOptionMenuItemType } from '@fluentui/react';
4
+ import './UIComboBox.scss';
5
+ import './Callout.scss';
6
+ import type { UIMessagesExtendedProps } from '../../helper/ValidationMessage';
7
+ export { IComboBoxOption as UIComboBoxOption, IComboBox as UIComboBoxRef, IOnRenderComboBoxLabelProps as UIOnRenderComboBoxLabelProps, SelectableOptionMenuItemType as UISelectableOptionMenuItemType };
8
+ export interface UIComboBoxProps extends IComboBoxProps, UIMessagesExtendedProps {
9
+ wrapperRef?: React.RefObject<HTMLDivElement>;
10
+ highlight?: boolean;
11
+ useComboBoxAsMenuMinWidth?: boolean;
12
+ openMenuOnClick?: boolean;
13
+ onRefresh?(): void;
14
+ onHandleChange?(value: string | number): void;
15
+ tooltipRefreshButton?: string;
16
+ isLoading?: boolean;
17
+ isForceEnabled?: boolean;
18
+ readOnly?: boolean;
19
+ calloutCollisionTransformation?: boolean;
20
+ }
21
+ export interface UIComboBoxState {
22
+ minWidth?: number;
23
+ isListHidden?: boolean;
24
+ }
25
+ /**
26
+ * UIComboBox component.
27
+ *
28
+ * @exports
29
+ * @class {UIComboBox}
30
+ * @extends {React.Component<UIComboBoxProps, UIComboBoxState>}
31
+ */
32
+ export declare class UIComboBox extends React.Component<UIComboBoxProps, UIComboBoxState> {
33
+ static defaultProps: {
34
+ openMenuOnClick: boolean;
35
+ };
36
+ private comboBox;
37
+ private comboboxDomRef;
38
+ private menuDomRef;
39
+ private selectedElement;
40
+ private query;
41
+ private ignoreOpenKeys;
42
+ private isListHidden;
43
+ private calloutCollisionTransform;
44
+ /**
45
+ * Initializes component properties.
46
+ *
47
+ * @param {UIComboBoxProps} props
48
+ */
49
+ constructor(props: UIComboBoxProps);
50
+ /**
51
+ *
52
+ * @param {UIComboBoxProps} nextProps
53
+ * @returns {boolean}
54
+ */
55
+ shouldComponentUpdate(nextProps: UIComboBoxProps): boolean;
56
+ /**
57
+ * Updates hidden options.
58
+ *
59
+ * @param {IComboBoxOption[]} opts
60
+ */
61
+ private updateHiddenOptions;
62
+ /**
63
+ * Method prevents cursor from jumping to the end of input.
64
+ *
65
+ * @param {React.FormEvent<IComboBox>} event Combobox event object
66
+ */
67
+ private setCaretPosition;
68
+ /**
69
+ * Method filters options and hides unmatched options.
70
+ *
71
+ * @param {React.FormEvent<IComboBox>} event Combobox event object
72
+ */
73
+ private onInput;
74
+ /**
75
+ * Method opens menu when user clicks on Combobox (input or button).
76
+ *
77
+ * @param event
78
+ */
79
+ private onClick;
80
+ /**
81
+ * Method handles keydown event and does following.
82
+ * 1. Fix for bug(in fluentui sources) regarding keyboard navigation when last item is not visible.
83
+ * 2. Opens list when user enters any key.
84
+ *
85
+ * @param {React.FormEvent<HTMLInputElement>} event Keydown event
86
+ */
87
+ private onKeyDown;
88
+ /**
89
+ * Method resets search query.
90
+ */
91
+ private reserQuery;
92
+ /**
93
+ * Method called on combobox option resolvation.
94
+ * We should not allow to add any custom option.
95
+ *
96
+ * @returns {IComboBoxOption[]} Array of combobox items.
97
+ */
98
+ private onResolveOptions;
99
+ /**
100
+ * Method called on combobox item render.
101
+ * We should pass query to it and avoid rendering if it is hidden.
102
+ *
103
+ * @param {IComboBoxOption} props Combobox item props.
104
+ * @param {Function} defaultRender Combobox item default renderer.
105
+ * @returns {JSX.Element | null} Element to render.
106
+ */
107
+ private onRenderItem;
108
+ /**
109
+ * Method to get current selected index.
110
+ *
111
+ * @returns {number | undefined} Selected item index.
112
+ */
113
+ private getCurrentSelectedIndex;
114
+ /**
115
+ * Return a value for the placeholder.
116
+ *
117
+ * @returns {string}
118
+ */
119
+ private getPlaceholder;
120
+ /**
121
+ * Method called on combobox item's option/label render.
122
+ * We should use different componenet which support highlighting - 'ComboboxSearchOption'.
123
+ *
124
+ * @param {IComboBoxOption} props Combobox item props.
125
+ * @param {Function} defaultRender Combobox item default renderer.
126
+ * @returns {JSX.Element | null} Element to render.
127
+ */
128
+ private readonly onRenderOption;
129
+ /**
130
+ * Method which determines what is next visible item - it is used to fix bug in fluentui sources..
131
+ *
132
+ * @param {number} index Current index.
133
+ * @param {boolean} forward Dirrection to look up.
134
+ * @returns {ComboboxItemInfo | null} Combobox item object.
135
+ */
136
+ private getNextVisibleItem;
137
+ /**
138
+ * Method is used as fix for bug(in fluentui sources) regarding keyboard navigation when last item is not visible.
139
+ *
140
+ * @param {boolean} forward Dirrection to look up.
141
+ * @returns {boolean} Returs true if method changed navigation.
142
+ */
143
+ private _setCyclingNavigation;
144
+ /**
145
+ * Method for property 'useComboBoxAsMenuMinWidth' - method resolves current dropdown width and updates state with latest value.
146
+ * 'minWidth' from state is used to set callout size in render.
147
+ */
148
+ private calculateMenuMinWidth;
149
+ /**
150
+ * Method called only when property 'highlight' is true.
151
+ * Method called after each value live change - we need recheck if there is any visible item after search is done.
152
+ * 1. If there no any visible item - we hide menu callout.
153
+ * 2. If there is any visible item - we show menu callout.
154
+ *
155
+ * @param option Selected option.
156
+ * @param index Selected option's index.
157
+ * @param value Text value entered in input.
158
+ */
159
+ private onPendingValueChanged;
160
+ /**
161
+ * Public method to close menu callout if it is open.
162
+ */
163
+ dismissMenu(): void;
164
+ /**
165
+ * Public method to set the focus on the combo box.
166
+ */
167
+ setFocus(): void;
168
+ /**
169
+ * Method called only when property 'onRefresh' has been defined.
170
+ * It is called when click on the refresh buttonIcon.
171
+ */
172
+ private handleRefreshButton;
173
+ handleChange: IComboBoxProps['onChange'];
174
+ private onRenderListLoading;
175
+ /**
176
+ * Handle multiselect change by avoiding 'blur' event.
177
+ * Problem is that blur event uses suggested value and toggles selection for it.
178
+ *
179
+ * @param {React.FormEvent<IComboBox>} event on change
180
+ * @param {IComboBoxOption} option changed option
181
+ * @param {number} index option index
182
+ * @param {string} value changed value
183
+ */
184
+ private onMultiSelectChange;
185
+ /**
186
+ * Method is used to fix bug in fluent ui.
187
+ * Bug is for multiselect combobox - when keyboard navigation is used, then scrollbar position is not updated to make selected option visible in viewport.
188
+ */
189
+ private onScrollToItem;
190
+ /**
191
+ * Method returns class names string depending on props and component state.
192
+ *
193
+ * @param {InputValidationMessageInfo} messageInfo Error/warning message if applied
194
+ * @returns {string} Class names of root combobox element.
195
+ */
196
+ private getClassNames;
197
+ /**
198
+ * Method returns properties for Autofill component(combobox's inner compnent for text input).
199
+ * Method handles 'highlight' and 'readOnly' properties.
200
+ *
201
+ * @returns {IAutofillProps} Properties for Autofill component.
202
+ */
203
+ private getAutofillProps;
204
+ /**
205
+ * @returns {JSX.Element}
206
+ */
207
+ render(): JSX.Element;
208
+ }
209
209
  //# sourceMappingURL=UIComboBox.d.ts.map