@patternfly/react-core 5.0.0-alpha.59 → 5.0.0-alpha.60

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 (70) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/esm/components/DatePicker/DatePicker.d.ts +1 -1
  3. package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
  4. package/dist/esm/components/DatePicker/DatePicker.js +4 -1
  5. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  6. package/dist/esm/components/Menu/Menu.d.ts +0 -5
  7. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  8. package/dist/esm/components/Menu/Menu.js +7 -8
  9. package/dist/esm/components/Menu/Menu.js.map +1 -1
  10. package/dist/esm/components/Menu/MenuSearch.d.ts +9 -0
  11. package/dist/esm/components/Menu/MenuSearch.d.ts.map +1 -0
  12. package/dist/esm/components/Menu/MenuSearch.js +6 -0
  13. package/dist/esm/components/Menu/MenuSearch.js.map +1 -0
  14. package/dist/esm/components/Menu/MenuSearchInput.d.ts +9 -0
  15. package/dist/esm/components/Menu/MenuSearchInput.d.ts.map +1 -0
  16. package/dist/esm/components/Menu/MenuSearchInput.js +7 -0
  17. package/dist/esm/components/Menu/MenuSearchInput.js.map +1 -0
  18. package/dist/esm/components/Menu/index.d.ts +2 -1
  19. package/dist/esm/components/Menu/index.d.ts.map +1 -1
  20. package/dist/esm/components/Menu/index.js +2 -1
  21. package/dist/esm/components/Menu/index.js.map +1 -1
  22. package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
  23. package/dist/esm/components/TimePicker/TimePicker.js +10 -6
  24. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  25. package/dist/js/components/DatePicker/DatePicker.d.ts +1 -1
  26. package/dist/js/components/DatePicker/DatePicker.d.ts.map +1 -1
  27. package/dist/js/components/DatePicker/DatePicker.js +4 -1
  28. package/dist/js/components/DatePicker/DatePicker.js.map +1 -1
  29. package/dist/js/components/Menu/Menu.d.ts +0 -5
  30. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  31. package/dist/js/components/Menu/Menu.js +7 -8
  32. package/dist/js/components/Menu/Menu.js.map +1 -1
  33. package/dist/js/components/Menu/MenuSearch.d.ts +9 -0
  34. package/dist/js/components/Menu/MenuSearch.d.ts.map +1 -0
  35. package/dist/js/components/Menu/{MenuInput.js → MenuSearch.js} +4 -4
  36. package/dist/js/components/Menu/MenuSearch.js.map +1 -0
  37. package/dist/js/components/Menu/MenuSearchInput.d.ts +9 -0
  38. package/dist/js/components/Menu/MenuSearchInput.d.ts.map +1 -0
  39. package/dist/js/components/Menu/MenuSearchInput.js +11 -0
  40. package/dist/js/components/Menu/MenuSearchInput.js.map +1 -0
  41. package/dist/js/components/Menu/index.d.ts +2 -1
  42. package/dist/js/components/Menu/index.d.ts.map +1 -1
  43. package/dist/js/components/Menu/index.js +2 -1
  44. package/dist/js/components/Menu/index.js.map +1 -1
  45. package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
  46. package/dist/js/components/TimePicker/TimePicker.js +10 -6
  47. package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
  48. package/dist/umd/react-core.min.js +1 -1
  49. package/package.json +2 -2
  50. package/src/components/DatePicker/DatePicker.tsx +9 -2
  51. package/src/components/DatePicker/examples/DatePickerHelperText.tsx +9 -2
  52. package/src/components/Menu/Menu.tsx +7 -16
  53. package/src/components/Menu/{MenuInput.tsx → MenuSearch.tsx} +4 -4
  54. package/src/components/Menu/MenuSearchInput.tsx +15 -0
  55. package/src/components/Menu/examples/Menu.md +2 -2
  56. package/src/components/Menu/examples/MenuFilterDrilldown.tsx +14 -11
  57. package/src/components/Menu/examples/MenuFilteringWithSearchInput.tsx +21 -10
  58. package/src/components/Menu/index.ts +2 -1
  59. package/src/components/TimePicker/TimePicker.tsx +12 -8
  60. package/src/demos/ComposableMenu/examples/ComposableApplicationLauncher.tsx +7 -4
  61. package/src/demos/ComposableMenu/examples/ComposableContextSelector.tsx +24 -21
  62. package/src/demos/ComposableMenu/examples/ComposableDropdwnVariants.tsx +5 -2
  63. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +3 -3
  64. package/dist/esm/components/Menu/MenuInput.d.ts +0 -9
  65. package/dist/esm/components/Menu/MenuInput.d.ts.map +0 -1
  66. package/dist/esm/components/Menu/MenuInput.js +0 -6
  67. package/dist/esm/components/Menu/MenuInput.js.map +0 -1
  68. package/dist/js/components/Menu/MenuInput.d.ts +0 -9
  69. package/dist/js/components/Menu/MenuInput.d.ts.map +0 -1
  70. package/dist/js/components/Menu/MenuInput.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "5.0.0-alpha.59",
3
+ "version": "5.0.0-alpha.60",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -70,5 +70,5 @@
70
70
  "react": "^17 || ^18",
71
71
  "react-dom": "^17 || ^18"
72
72
  },
73
- "gitHead": "3eacdfd9af09ad538b0293e0452bbe7bfb72cec2"
73
+ "gitHead": "038b6538ed188352d87d62c1ab21503e879432ab"
74
74
  }
@@ -10,6 +10,7 @@ import { CalendarMonth, CalendarFormat } from '../CalendarMonth';
10
10
  import { useImperativeHandle } from 'react';
11
11
  import { KeyTypes } from '../../helpers';
12
12
  import { isValidDate } from '../../helpers/datetimeUtils';
13
+ import { HelperText, HelperTextItem } from '../HelperText';
13
14
 
14
15
  /** The main date picker component. */
15
16
 
@@ -33,7 +34,7 @@ export interface DatePickerProps
33
34
  dateFormat?: (date: Date) => string;
34
35
  /** How to format the date in the text input. */
35
36
  dateParse?: (value: string) => Date;
36
- /** Helper text to display alongside the date picker. */
37
+ /** Helper text to display alongside the date picker. Expects a HelperText component. */
37
38
  helperText?: React.ReactNode;
38
39
  /** Additional props for the text input. */
39
40
  inputProps?: TextInputProps;
@@ -273,7 +274,13 @@ const DatePickerBase = (
273
274
  </div>
274
275
  </Popover>
275
276
  {helperText && <div className={styles.datePickerHelperText}>{helperText}</div>}
276
- {errorText.trim() && <div className={css(styles.datePickerHelperText)}>{errorText}</div>}
277
+ {errorText.trim() && (
278
+ <div className={styles.datePickerHelperText}>
279
+ <HelperText>
280
+ <HelperTextItem variant="error">{errorText}</HelperTextItem>
281
+ </HelperText>
282
+ </div>
283
+ )}
277
284
  </div>
278
285
  );
279
286
  };
@@ -1,6 +1,13 @@
1
1
  import React from 'react';
2
- import { DatePicker } from '@patternfly/react-core';
2
+ import { DatePicker, HelperText, HelperTextItem } from '@patternfly/react-core';
3
3
 
4
4
  export const DatePickerHelperText: React.FunctionComponent = () => (
5
- <DatePicker value="2020-03-05" helperText="Select a date." />
5
+ <DatePicker
6
+ value="2020-03-05"
7
+ helperText={
8
+ <HelperText>
9
+ <HelperTextItem>Select a date.</HelperTextItem>
10
+ </HelperText>
11
+ }
12
+ />
6
13
  );
@@ -18,13 +18,6 @@ export interface MenuProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'r
18
18
  selected?: any | any[];
19
19
  /** Callback called when an MenuItems's action button is clicked. You can also specify it within a MenuItemAction. */
20
20
  onActionClick?: (event?: any, itemId?: any, actionId?: any) => void;
21
- /** Search input of menu */
22
- hasSearchInput?: boolean;
23
- /** A callback for when the input value changes. */
24
- onSearchInputChange?: (
25
- event: React.FormEvent<HTMLInputElement> | React.SyntheticEvent<HTMLButtonElement>,
26
- value: string
27
- ) => void;
28
21
  /** @beta Indicates if menu contains a flyout menu */
29
22
  containsFlyout?: boolean;
30
23
  /** @beta Indicating that the menu should have nav flyout styling */
@@ -72,7 +65,6 @@ export interface MenuProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'r
72
65
  }
73
66
 
74
67
  export interface MenuState {
75
- searchInputValue: string | null;
76
68
  ouiaStateId: string;
77
69
  transitionMoveTarget: HTMLElement;
78
70
  flyoutRef: React.Ref<HTMLLIElement> | null;
@@ -103,7 +95,6 @@ class MenuBase extends React.Component<MenuProps, MenuState> {
103
95
 
104
96
  state: MenuState = {
105
97
  ouiaStateId: getDefaultOUIAId(Menu.displayName),
106
- searchInputValue: '',
107
98
  transitionMoveTarget: null,
108
99
  flyoutRef: null,
109
100
  disableHover: false,
@@ -174,7 +165,7 @@ class MenuBase extends React.Component<MenuProps, MenuState> {
174
165
  }
175
166
 
176
167
  const nextTarget = nextMenuChildren.filter(
177
- el => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider'))
168
+ (el) => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider'))
178
169
  )[0].firstChild;
179
170
 
180
171
  (nextTarget as HTMLElement).focus();
@@ -216,7 +207,7 @@ class MenuBase extends React.Component<MenuProps, MenuState> {
216
207
  if (activeElement.nextElementSibling && activeElement.nextElementSibling.classList.contains('pf-c-menu')) {
217
208
  const childItems = Array.from(
218
209
  activeElement.nextElementSibling.getElementsByTagName('UL')[0].children
219
- ).filter(el => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider')));
210
+ ).filter((el) => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider')));
220
211
 
221
212
  (activeElement as HTMLElement).tabIndex = -1;
222
213
  (childItems[0].firstChild as HTMLElement).tabIndex = 0;
@@ -234,13 +225,13 @@ class MenuBase extends React.Component<MenuProps, MenuState> {
234
225
  if (isDrilldown) {
235
226
  return this.activeMenu
236
227
  ? Array.from(this.activeMenu.getElementsByTagName('UL')[0].children).filter(
237
- el => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider'))
228
+ (el) => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider'))
238
229
  )
239
230
  : [];
240
231
  } else {
241
232
  return this.menuRef.current
242
233
  ? Array.from(this.menuRef.current.getElementsByTagName('LI')).filter(
243
- el => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider'))
234
+ (el) => !(el.classList.contains('pf-m-disabled') || el.classList.contains('pf-c-divider'))
244
235
  )
245
236
  : [];
246
237
  }
@@ -293,7 +284,7 @@ class MenuBase extends React.Component<MenuProps, MenuState> {
293
284
  onDrillOut,
294
285
  onGetMenuHeight,
295
286
  flyoutRef: this.state.flyoutRef,
296
- setFlyoutRef: flyoutRef => this.setState({ flyoutRef }),
287
+ setFlyoutRef: (flyoutRef) => this.setState({ flyoutRef }),
297
288
  disableHover: this.state.disableHover,
298
289
  role
299
290
  }}
@@ -306,11 +297,11 @@ class MenuBase extends React.Component<MenuProps, MenuState> {
306
297
  isActiveElement={(element: Element) =>
307
298
  document.activeElement.closest('li') === element || // if element is a basic MenuItem
308
299
  document.activeElement.parentElement === element ||
309
- document.activeElement.closest('.pf-c-menu__search') === element || // if element is a MenuInput
300
+ document.activeElement.closest('.pf-c-menu__search') === element || // if element is a MenuSearch
310
301
  (document.activeElement.closest('ol') && document.activeElement.closest('ol').firstChild === element)
311
302
  }
312
303
  getFocusableElement={(navigableElement: Element) =>
313
- (navigableElement.tagName === 'DIV' && navigableElement.querySelector('input')) || // for MenuInput
304
+ (navigableElement.tagName === 'DIV' && navigableElement.querySelector('input')) || // for MenuSearchInput
314
305
  ((navigableElement.firstChild as Element).tagName === 'LABEL' &&
315
306
  navigableElement.querySelector('input')) || // for MenuItem checkboxes
316
307
  (navigableElement.firstChild as Element)
@@ -2,14 +2,14 @@ import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/Menu/menu';
3
3
  import { css } from '@patternfly/react-styles';
4
4
 
5
- export interface MenuInputProps extends React.HTMLProps<HTMLElement> {
6
- /** Items within input */
5
+ export interface MenuSearchProps extends React.HTMLProps<HTMLElement> {
6
+ /** Items within search */
7
7
  children?: React.ReactNode;
8
8
  /** @hide Forwarded ref */
9
9
  innerRef?: React.Ref<any>;
10
10
  }
11
11
 
12
- export const MenuInput = React.forwardRef((props: MenuInputProps, ref: React.Ref<HTMLDivElement>) => (
12
+ export const MenuSearch = React.forwardRef((props: MenuSearchProps, ref: React.Ref<HTMLDivElement>) => (
13
13
  <div {...props} className={css(styles.menuSearch, props.className)} ref={ref} />
14
14
  ));
15
- MenuInput.displayName = 'MenuInput';
15
+ MenuSearch.displayName = 'MenuSearch';
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { css } from '@patternfly/react-styles';
3
+
4
+ export interface MenuSearchInputProps extends React.HTMLProps<HTMLElement> {
5
+ /** Items within input */
6
+ children?: React.ReactNode;
7
+ /** @hide Forwarded ref */
8
+ innerRef?: React.Ref<any>;
9
+ }
10
+
11
+ export const MenuSearchInput = React.forwardRef((props: MenuSearchInputProps, ref: React.Ref<HTMLDivElement>) => (
12
+ // Update to use the styles object when core adds the class
13
+ <div {...props} className={css('pf-c-menu__search-input', props.className)} ref={ref} />
14
+ ));
15
+ MenuSearchInput.displayName = 'MenuSearchInput';
@@ -3,7 +3,7 @@ id: Menu
3
3
  section: components
4
4
  subsection: menus
5
5
  cssPrefix: pf-c-menu
6
- propComponents: ['Menu', 'MenuList', 'MenuItem', 'MenuItemAction', 'MenuContent', 'MenuInput', 'MenuGroup']
6
+ propComponents: ['Menu', 'MenuList', 'MenuItem', 'MenuItemAction', 'MenuContent', 'MenuSearch', 'MenuSearchInput', 'MenuGroup']
7
7
  ouia: true
8
8
  ---
9
9
 
@@ -123,7 +123,7 @@ The following menu example allows users to favorite menu items, an action that d
123
123
 
124
124
  ### Filtering with search input
125
125
 
126
- A [search input](/components/search-input) component can be placed within `<MenuInput>` to render a search input at the top of the menu. In the following example, the `onChange` property of the text input is passed a callback that filters menu items as a user types.
126
+ A [search input](/components/search-input) component can be placed within `<MenuSearch>` and `<MenuSearchInput>` to render a search input at the top of the menu. In the following example, the `onChange` property of the text input is passed a callback that filters menu items as a user types.
127
127
 
128
128
  ```ts file="MenuFilteringWithSearchInput.tsx"
129
129
 
@@ -6,7 +6,8 @@ import {
6
6
  MenuItem,
7
7
  Divider,
8
8
  DrilldownMenu,
9
- MenuInput,
9
+ MenuSearch,
10
+ MenuSearchInput,
10
11
  SearchInput
11
12
  } from '@patternfly/react-core';
12
13
 
@@ -66,7 +67,7 @@ export const MenuWithDrilldown: React.FunctionComponent = () => {
66
67
  ];
67
68
 
68
69
  const mapped = startDrillItems
69
- .filter(opt => !startInput || opt.item.toLowerCase().includes(startInput.toString().toLowerCase()))
70
+ .filter((opt) => !startInput || opt.item.toLowerCase().includes(startInput.toString().toLowerCase()))
70
71
  .map((opt, index) => (
71
72
  <MenuItem key={opt.item} itemId={index} {...opt.rest}>
72
73
  {opt.item}
@@ -102,15 +103,17 @@ export const MenuWithDrilldown: React.FunctionComponent = () => {
102
103
  Start rollout
103
104
  </MenuItem>
104
105
  <Divider component="li" />
105
- <MenuInput>
106
- <SearchInput
107
- ref={searchRef}
108
- value={startInput}
109
- aria-label="Filter menu items"
110
- type="search"
111
- onChange={(_event, value) => handleStartTextInputChange(value)}
112
- />
113
- </MenuInput>
106
+ <MenuSearch>
107
+ <MenuSearchInput>
108
+ <SearchInput
109
+ ref={searchRef}
110
+ value={startInput}
111
+ aria-label="Filter menu items"
112
+ type="search"
113
+ onChange={(_event, value) => handleStartTextInputChange(value)}
114
+ />
115
+ </MenuSearchInput>
116
+ </MenuSearch>
114
117
  <Divider component="li" />
115
118
  {mapped}
116
119
  </DrilldownMenu>
@@ -1,5 +1,14 @@
1
1
  import React from 'react';
2
- import { Menu, MenuList, MenuItem, MenuContent, MenuInput, Divider, SearchInput } from '@patternfly/react-core';
2
+ import {
3
+ Menu,
4
+ MenuList,
5
+ MenuItem,
6
+ MenuContent,
7
+ MenuSearch,
8
+ MenuSearchInput,
9
+ Divider,
10
+ SearchInput
11
+ } from '@patternfly/react-core';
3
12
 
4
13
  export const MenuFilteringWithSearchInput: React.FunctionComponent = () => {
5
14
  const [activeItem, setActiveItem] = React.useState(0);
@@ -18,7 +27,7 @@ export const MenuFilteringWithSearchInput: React.FunctionComponent = () => {
18
27
  const menuListItemsText = ['Action 1', 'Action 2', 'Action 3'];
19
28
 
20
29
  const menuListItems = menuListItemsText
21
- .filter(item => !input || item.toLowerCase().includes(input.toString().toLowerCase()))
30
+ .filter((item) => !input || item.toLowerCase().includes(input.toString().toLowerCase()))
22
31
  .map((currentValue, index) => (
23
32
  <MenuItem key={currentValue} itemId={index}>
24
33
  {currentValue}
@@ -34,14 +43,16 @@ export const MenuFilteringWithSearchInput: React.FunctionComponent = () => {
34
43
 
35
44
  return (
36
45
  <Menu onSelect={onSelect} activeItemId={activeItem}>
37
- <MenuInput>
38
- <SearchInput
39
- value={input}
40
- aria-label="Filter menu items"
41
- type="search"
42
- onChange={(_event, value) => handleTextInputChange(value)}
43
- />
44
- </MenuInput>
46
+ <MenuSearch>
47
+ <MenuSearchInput>
48
+ <SearchInput
49
+ value={input}
50
+ aria-label="Filter menu items"
51
+ type="search"
52
+ onChange={(_event, value) => handleTextInputChange(value)}
53
+ />
54
+ </MenuSearchInput>
55
+ </MenuSearch>
45
56
  <Divider />
46
57
  <MenuContent>
47
58
  <MenuList>{menuListItems}</MenuList>
@@ -1,7 +1,8 @@
1
1
  export * from './Menu';
2
2
  export * from './MenuContent';
3
3
  export * from './MenuFooter';
4
- export * from './MenuInput';
4
+ export * from './MenuSearch';
5
+ export * from './MenuSearchInput';
5
6
  export * from './MenuGroup';
6
7
  export * from './MenuItem';
7
8
  export * from './MenuList';
@@ -20,6 +20,7 @@ import {
20
20
  isWithinMinMax,
21
21
  getSeconds
22
22
  } from './TimePickerUtils';
23
+ import { HelperText, HelperTextItem } from '../HelperText';
23
24
 
24
25
  export interface TimePickerProps
25
26
  extends Omit<React.HTMLProps<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur' | 'disabled' | 'ref'> {
@@ -242,7 +243,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
242
243
  }
243
244
 
244
245
  updateFocusedIndex = (increment: number) => {
245
- this.setState(prevState => {
246
+ this.setState((prevState) => {
246
247
  const maxIndex = this.getOptions().length - 1;
247
248
  let nextIndex =
248
249
  prevState.focusedIndex !== null ? prevState.focusedIndex + increment : prevState.scrollIndex + increment;
@@ -267,9 +268,8 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
267
268
  };
268
269
 
269
270
  scrollToIndex = (index: number) => {
270
- this.getOptions()[index].closest(`.${menuStyles.menuContent}`).scrollTop = this.getOptions()[
271
- this.getIndexToScroll(index)
272
- ].offsetTop;
271
+ this.getOptions()[index].closest(`.${menuStyles.menuContent}`).scrollTop =
272
+ this.getOptions()[this.getIndexToScroll(index)].offsetTop;
273
273
  };
274
274
 
275
275
  focusSelection = (index: number) => {
@@ -308,7 +308,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
308
308
  ) {
309
309
  time = `${time}${new Date().getHours() > 11 ? pmSuffix : amSuffix}`;
310
310
  }
311
- let scrollIndex = this.getOptions().findIndex(option => option.textContent === time);
311
+ let scrollIndex = this.getOptions().findIndex((option) => option.textContent === time);
312
312
 
313
313
  // if we found an exact match, scroll to match and return index of match for focus
314
314
  if (scrollIndex !== -1) {
@@ -325,7 +325,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
325
325
  }
326
326
  }
327
327
  time = `${splitTime[0]}${delimiter}00${amPm}`;
328
- scrollIndex = this.getOptions().findIndex(option => option.textContent === time);
328
+ scrollIndex = this.getOptions().findIndex((option) => option.textContent === time);
329
329
  if (scrollIndex !== -1) {
330
330
  this.scrollToIndex(scrollIndex);
331
331
  }
@@ -372,7 +372,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
372
372
 
373
373
  onToggle = (isOpen: boolean) => {
374
374
  // on close, parse and validate input
375
- this.setState(prevState => {
375
+ this.setState((prevState) => {
376
376
  const { timeRegex, isInvalid, timeState } = prevState;
377
377
  const { delimiter, is24Hour, includeSeconds, onChange } = this.props;
378
378
  const time = parseTime(timeState, timeRegex, delimiter, !is24Hour, includeSeconds);
@@ -551,7 +551,11 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
551
551
  </InputGroup>
552
552
  {isInvalid && (
553
553
  <div className={css(datePickerStyles.datePickerHelperText)}>
554
- {!isValidFormat ? invalidFormatErrorMessage : invalidMinMaxErrorMessage}
554
+ <HelperText>
555
+ <HelperTextItem variant="error">
556
+ {!isValidFormat ? invalidFormatErrorMessage : invalidMinMaxErrorMessage}
557
+ </HelperTextItem>
558
+ </HelperText>
555
559
  </div>
556
560
  )}
557
561
  </div>
@@ -6,7 +6,8 @@ import {
6
6
  MenuList,
7
7
  MenuItem,
8
8
  MenuGroup,
9
- MenuInput,
9
+ MenuSearch,
10
+ MenuSearchInput,
10
11
  Popper,
11
12
  Tooltip,
12
13
  Divider,
@@ -248,9 +249,11 @@ export const ComposableApplicationLauncher: React.FunctionComponent = () => {
248
249
  const menu = (
249
250
  // eslint-disable-next-line no-console
250
251
  <Menu ref={menuRef} onActionClick={onFavorite} onSelect={(_ev, itemId) => console.log('selected', itemId)}>
251
- <MenuInput>
252
- <SearchInput aria-label="Filter menu items" type="search" onChange={(_event, value) => onTextChange(value)} />
253
- </MenuInput>
252
+ <MenuSearch>
253
+ <MenuSearchInput>
254
+ <SearchInput aria-label="Filter menu items" type="search" onChange={(_event, value) => onTextChange(value)} />
255
+ </MenuSearchInput>
256
+ </MenuSearch>
254
257
  <Divider />
255
258
  <MenuContent>
256
259
  {filteredFavorites.length > 0 && (
@@ -6,7 +6,8 @@ import {
6
6
  MenuFooter,
7
7
  MenuList,
8
8
  MenuItem,
9
- MenuInput,
9
+ MenuSearch,
10
+ MenuSearchInput,
10
11
  Popper,
11
12
  Divider,
12
13
  InputGroup,
@@ -147,26 +148,28 @@ export const ComposableContextSelector: React.FunctionComponent = () => {
147
148
 
148
149
  const menu = (
149
150
  <Menu ref={menuRef} id="context-selector" onSelect={onSelect} isScrollable>
150
- <MenuInput>
151
- <InputGroup>
152
- <SearchInput
153
- value={searchInputValue}
154
- type="search"
155
- placeholder="Search"
156
- onChange={(_event, value) => onSearchInputChange(value)}
157
- onKeyPress={onEnterPressed}
158
- aria-labelledby="pf-context-selector-search-button-id-1"
159
- />
160
- <Button
161
- variant={ButtonVariant.control}
162
- aria-label="Search menu items"
163
- id="pf-context-selector-search-button-id-1"
164
- onClick={onSearchButtonClick}
165
- >
166
- <SearchIcon aria-hidden="true" />
167
- </Button>
168
- </InputGroup>
169
- </MenuInput>
151
+ <MenuSearch>
152
+ <MenuSearchInput>
153
+ <InputGroup>
154
+ <SearchInput
155
+ value={searchInputValue}
156
+ type="search"
157
+ placeholder="Search"
158
+ onChange={(_event, value) => onSearchInputChange(value)}
159
+ onKeyPress={onEnterPressed}
160
+ aria-labelledby="pf-context-selector-search-button-id-1"
161
+ />
162
+ <Button
163
+ variant={ButtonVariant.control}
164
+ aria-label="Search menu items"
165
+ id="pf-context-selector-search-button-id-1"
166
+ onClick={onSearchButtonClick}
167
+ >
168
+ <SearchIcon aria-hidden="true" />
169
+ </Button>
170
+ </InputGroup>
171
+ </MenuSearchInput>
172
+ </MenuSearch>
170
173
  <Divider />
171
174
  <MenuContent maxMenuHeight="200px">
172
175
  <MenuList>
@@ -12,7 +12,8 @@ import {
12
12
  ToggleGroup,
13
13
  ToggleGroupItem,
14
14
  Avatar,
15
- MenuInput
15
+ MenuSearch,
16
+ MenuSearchInput
16
17
  } from '@patternfly/react-core';
17
18
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
18
19
  import CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';
@@ -126,7 +127,9 @@ export const ComposableDropdwnVariants: React.FunctionComponent = () => {
126
127
  const menu =
127
128
  toggleSelected === 'image' ? (
128
129
  <Menu ref={menuRef} id="dropdown-menu" onSelect={onSelect}>
129
- <MenuInput>Unselectable text displayed at the top of the menu</MenuInput>
130
+ <MenuSearch>
131
+ <MenuSearchInput>Unselectable text displayed at the top of the menu</MenuSearchInput>
132
+ </MenuSearch>
130
133
  <Divider />
131
134
  <MenuContent>
132
135
  <MenuItem
@@ -38,7 +38,7 @@ import {
38
38
  ToolbarGroup,
39
39
  ToolbarItem,
40
40
  MenuGroup,
41
- MenuInput,
41
+ MenuSearchInput,
42
42
  SearchInput,
43
43
  Tooltip
44
44
  } from '@patternfly/react-core';
@@ -332,9 +332,9 @@ export const MastheadWithUtilitiesAndUserDropdownMenu: React.FunctionComponent =
332
332
  const menu = (
333
333
  // eslint-disable-next-line no-console
334
334
  <Menu ref={menuRef} onActionClick={onFavorite} onSelect={(_ev, itemId) => console.log('selected', itemId)}>
335
- <MenuInput>
335
+ <MenuSearchInput>
336
336
  <SearchInput aria-label="Filter menu items" type="search" onChange={(_event, value) => onTextChange(value)} />
337
- </MenuInput>
337
+ </MenuSearchInput>
338
338
  <Divider />
339
339
  <MenuContent>
340
340
  {filteredFavorites.length > 0 && (
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
- export interface MenuInputProps extends React.HTMLProps<HTMLElement> {
3
- /** Items within input */
4
- children?: React.ReactNode;
5
- /** @hide Forwarded ref */
6
- innerRef?: React.Ref<any>;
7
- }
8
- export declare const MenuInput: React.ForwardRefExoticComponent<Pick<MenuInputProps, "children" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "name" | "nonce" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "type" | "useMap" | "value" | "width" | "wmode" | "wrap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "innerRef"> & React.RefAttributes<HTMLDivElement>>;
9
- //# sourceMappingURL=MenuInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MenuInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/MenuInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IAClE,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,w0LAEpB,CAAC"}
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- import styles from '@patternfly/react-styles/css/components/Menu/menu';
3
- import { css } from '@patternfly/react-styles';
4
- export const MenuInput = React.forwardRef((props, ref) => (React.createElement("div", Object.assign({}, props, { className: css(styles.menuSearch, props.className), ref: ref }))));
5
- MenuInput.displayName = 'MenuInput';
6
- //# sourceMappingURL=MenuInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MenuInput.js","sourceRoot":"","sources":["../../../../src/components/Menu/MenuInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,mDAAmD,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAS/C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAqB,EAAE,GAA8B,EAAE,EAAE,CAAC,CACnG,6CAAS,KAAK,IAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CACjF,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
- export interface MenuInputProps extends React.HTMLProps<HTMLElement> {
3
- /** Items within input */
4
- children?: React.ReactNode;
5
- /** @hide Forwarded ref */
6
- innerRef?: React.Ref<any>;
7
- }
8
- export declare const MenuInput: React.ForwardRefExoticComponent<Pick<MenuInputProps, "children" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "name" | "nonce" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "type" | "useMap" | "value" | "width" | "wmode" | "wrap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "innerRef"> & React.RefAttributes<HTMLDivElement>>;
9
- //# sourceMappingURL=MenuInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MenuInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/MenuInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IAClE,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,w0LAEpB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MenuInput.js","sourceRoot":"","sources":["../../../../src/components/Menu/MenuInput.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,qGAAuE;AACvE,2DAA+C;AASlC,QAAA,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAqB,EAAE,GAA8B,EAAE,EAAE,CAAC,CACnG,6CAAS,KAAK,IAAE,SAAS,EAAE,IAAA,kBAAG,EAAC,cAAM,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CACjF,CAAC,CAAC;AACH,iBAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}