diff --git a/src-docs/src/views/accordion/accordion.js b/src-docs/src/views/accordion/accordion.js index c1aeba08ff5..134ec7e1eeb 100644 --- a/src-docs/src/views/accordion/accordion.js +++ b/src-docs/src/views/accordion/accordion.js @@ -1,13 +1,18 @@ import React from 'react'; import { EuiAccordion, EuiPanel } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -export default () => ( -
- - - Any content inside of EuiAccordion will appear here. - - -
-); +export default () => { + const accordionID = htmlIdGenerator('accordion')(); + + return ( +
+ + + Any content inside of EuiAccordion will appear here. + + +
+ ); +}; diff --git a/src-docs/src/views/accordion/accordion_arrow.js b/src-docs/src/views/accordion/accordion_arrow.js index 1308506500e..704ca0b3672 100644 --- a/src-docs/src/views/accordion/accordion_arrow.js +++ b/src-docs/src/views/accordion/accordion_arrow.js @@ -1,14 +1,19 @@ import React from 'react'; import { EuiAccordion, EuiPanel } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -export default () => ( - - - Any content inside of EuiAccordion will appear here. - - -); +export default () => { + const accordionID = htmlIdGenerator('accordion')(); + + return ( + + + Any content inside of EuiAccordion will appear here. + + + ); +}; diff --git a/src-docs/src/views/accordion/accordion_arrow_right.js b/src-docs/src/views/accordion/accordion_arrow_right.js index c063cef8b04..fcb6dc7800f 100644 --- a/src-docs/src/views/accordion/accordion_arrow_right.js +++ b/src-docs/src/views/accordion/accordion_arrow_right.js @@ -1,14 +1,19 @@ import React from 'react'; import { EuiAccordion, EuiPanel } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -export default () => ( - - - Any content inside of EuiAccordion will appear here. - - -); +export default () => { + const accordionID = htmlIdGenerator('accordion')(); + + return ( + + + Any content inside of EuiAccordion will appear here. + + + ); +}; diff --git a/src-docs/src/views/accordion/accordion_extra.js b/src-docs/src/views/accordion/accordion_extra.js index 45001259fba..1a5daf9aba2 100644 --- a/src-docs/src/views/accordion/accordion_extra.js +++ b/src-docs/src/views/accordion/accordion_extra.js @@ -1,13 +1,18 @@ import React from 'react'; import { EuiAccordion, EuiButton } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -export default () => ( - Extra action!} - paddingSize="l"> - Opened content. - -); +export default () => { + const accordionID = htmlIdGenerator('accordion')(); + + return ( + Extra action!} + paddingSize="l"> + Opened content. + + ); +}; diff --git a/src-docs/src/views/accordion/accordion_forceState.js b/src-docs/src/views/accordion/accordion_forceState.js index b7eae17e9de..e0cf3c25860 100644 --- a/src-docs/src/views/accordion/accordion_forceState.js +++ b/src-docs/src/views/accordion/accordion_forceState.js @@ -35,6 +35,8 @@ export default () => { setID(`${idPrefix}--${newState}`); }; + const accordionID = htmlIdGenerator('accordion')(); + return (
{ /> @@ -76,26 +77,31 @@ const extraAction = ( /> ); -export default () => ( -
- - {repeatableForm} - +export default () => { + const accordionID__1 = htmlIdGenerator('accordion')(); + const accordionID__2 = htmlIdGenerator('accordion')(); - - {repeatableForm} - -
-); + return ( +
+ + {repeatableForm} + + + + {repeatableForm} + +
+ ); +}; diff --git a/src-docs/src/views/accordion/accordion_grow.js b/src-docs/src/views/accordion/accordion_grow.js index 98a033d3348..8cbc0bfccf7 100644 --- a/src-docs/src/views/accordion/accordion_grow.js +++ b/src-docs/src/views/accordion/accordion_grow.js @@ -18,6 +18,7 @@ const Rows = () => { } const growingAccordianDescriptionId = htmlIdGenerator()(); const listId = htmlIdGenerator()(); + return ( @@ -50,14 +51,18 @@ const Rows = () => { ); }; -export default () => ( - - - - - -); +export default () => { + const accordionID = htmlIdGenerator('accordion')(); + + return ( + + + + + + ); +}; diff --git a/src-docs/src/views/accordion/accordion_multiple.js b/src-docs/src/views/accordion/accordion_multiple.js index 0d801cfec29..b1b7178a84d 100644 --- a/src-docs/src/views/accordion/accordion_multiple.js +++ b/src-docs/src/views/accordion/accordion_multiple.js @@ -6,55 +6,63 @@ import { EuiSpacer, EuiPanel, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -export default () => ( -
- - -

The content inside can be of any height.

-

The content inside can be of any height.

-

The content inside can be of any height.

-
-
+export default () => { + const accordionID__1 = htmlIdGenerator('accordion')(); + const accordionID__2 = htmlIdGenerator('accordion')(); + const accordionID__3 = htmlIdGenerator('accordion')(); - + return ( +
+ + +

The content inside can be of any height.

+

The content inside can be of any height.

+

The content inside can be of any height.

+
+
- - -

The content inside can be of any height.

-

The content inside can be of any height.

-

The content inside can be of any height.

-

The content inside can be of any height.

-

The content inside can be of any height.

-

The content inside can be of any height.

-
-
+ - + + +

The content inside can be of any height.

+

The content inside can be of any height.

+

The content inside can be of any height.

+

The content inside can be of any height.

+

The content inside can be of any height.

+

The content inside can be of any height.

+
+
- - -

- This content area will grow to accommodate when the accordion below - opens -

-
- - - Any content inside of EuiAccordion will appear here. - + + + +

+ This content area will grow to accommodate when the accordion below + opens +

+
+ + + + Any content inside of EuiAccordion will appear + here. + +
-
-
-); +
+ ); +}; diff --git a/src-docs/src/views/accordion/accordion_open.js b/src-docs/src/views/accordion/accordion_open.js index 407b79fddf3..20074c8a233 100644 --- a/src-docs/src/views/accordion/accordion_open.js +++ b/src-docs/src/views/accordion/accordion_open.js @@ -3,15 +3,19 @@ import React from 'react'; import { EuiAccordion, EuiPanel } from '../../../../src/components'; import { htmlIdGenerator } from '../../../../src/services'; -export default () => ( -
- - - Any content inside of EuiAccordion will appear here. - - -
-); +export default () => { + const accordionID = htmlIdGenerator('accordion')(); + + return ( +
+ + + Any content inside of EuiAccordion will appear here. + + +
+ ); +}; diff --git a/src-docs/src/views/button/split_button.js b/src-docs/src/views/button/split_button.js index 3fe88a99fc1..9b6e8cdf18d 100644 --- a/src-docs/src/views/button/split_button.js +++ b/src-docs/src/views/button/split_button.js @@ -10,8 +10,11 @@ import { EuiPopover, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isPopoverOpen, setPopover] = useState(false); + const buttonID = htmlIdGenerator('button')(); const onButtonClick = () => { setPopover(!isPopoverOpen); @@ -43,7 +46,7 @@ export default () => { { const [isPopoverOpen, setPopover] = useState(false); + const popoverID = htmlIdGenerator('popover')(); const onButtonClick = () => { setPopover(!isPopoverOpen); @@ -29,7 +32,7 @@ export default () => { return ( { const [isPopoverOpen, setPopover] = useState(false); + const switchID__1 = htmlIdGenerator('switch')(); + const switchID__2 = htmlIdGenerator('switch')(); + const popoverID = htmlIdGenerator('popover')(); const onButtonClick = () => { setPopover(!isPopoverOpen); @@ -108,7 +113,7 @@ export default () => { {}} @@ -119,7 +124,7 @@ export default () => { hasChildLabel={false}> {}} @@ -140,7 +145,7 @@ export default () => { return ( { const [isPopoverOpen, setPopover] = useState(false); const [isDynamicPopoverOpen, setDynamicPopover] = useState(false); + const popoverID__1 = htmlIdGenerator('popover')(); + const popoverID__2 = htmlIdGenerator('popover')(); const onButtonClick = () => { setPopover(!isPopoverOpen); @@ -111,7 +114,7 @@ export default () => { return ( { { const [isPopoverOpen, setPopover] = useState(false); const [rowSize, setRowSize] = useState(50); + const popoverID = htmlIdGenerator('popover')(); const onButtonClick = () => { setPopover(!isPopoverOpen); @@ -74,7 +77,7 @@ export default () => { return ( { const [isPopoverOpen, setPopover] = useState(false); + const popoverID = htmlIdGenerator('popover')(); const onButtonClick = () => { setPopover(!isPopoverOpen); @@ -38,7 +41,7 @@ export default () => { return ( { const [example1, setExample1] = useState({ isOpen: false, @@ -26,6 +28,9 @@ export default () => { value: 'count()', }); + const popoverID__1 = htmlIdGenerator('popover')(); + const popoverID__2 = htmlIdGenerator('popover')(); + const options = [ { label: '.kibana_task_manager', @@ -140,7 +145,7 @@ export default () => { return (
{ { description: 'Is above', }); + const popoverID__1 = htmlIdGenerator('popover')(); + const popoverID__2 = htmlIdGenerator('popover')(); + const openExample1 = () => { setExample1({ ...example1, @@ -132,7 +137,7 @@ export default () => { { { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); + const flyoutID__title = htmlIdGenerator('flyout')(); let flyout; @@ -32,10 +35,10 @@ export default () => { setIsFlyoutVisible(false)} - aria-labelledby="flyoutTitle"> + aria-labelledby={flyoutID__title}> -

A typical flyout

+

A typical flyout

diff --git a/src-docs/src/views/flyout/flyout_banner.js b/src-docs/src/views/flyout/flyout_banner.js index 5f68f49813d..0b15190cbcb 100644 --- a/src-docs/src/views/flyout/flyout_banner.js +++ b/src-docs/src/views/flyout/flyout_banner.js @@ -11,8 +11,11 @@ import { EuiTitle, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); + const flyoutID__title = htmlIdGenerator('flyout')(); const closeFlyout = () => setIsFlyoutVisible(false); @@ -34,10 +37,10 @@ export default () => { + aria-labelledby={flyoutID__title}> -

A flyout with a banner

+

A flyout with a banner

diff --git a/src-docs/src/views/flyout/flyout_complicated.js b/src-docs/src/views/flyout/flyout_complicated.js index f432e5d1cce..3264a47163c 100644 --- a/src-docs/src/views/flyout/flyout_complicated.js +++ b/src-docs/src/views/flyout/flyout_complicated.js @@ -23,12 +23,15 @@ import { EuiSuperSelect, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); const [selectedTabId, setSelectedTabId] = useState('1'); const [isPopoverOpen, setIsPopoverOpen] = useState(false); const [superSelectvalue, setSuperSelectValue] = useState('option_one'); const [isExpressionOpen, setIsExpressionOpen] = useState(false); + const flyoutID__title = htmlIdGenerator('flyout')(); const tabs = [ { @@ -182,10 +185,10 @@ export default () => { ownFocus onClose={closeFlyout} hideCloseButton - aria-labelledby="flyoutComplicatedTitle"> + aria-labelledby={flyoutID__title}> -

Flyout header

+

Flyout header

diff --git a/src-docs/src/views/flyout/flyout_large.js b/src-docs/src/views/flyout/flyout_large.js index d7e5b591d38..82eb690df0b 100644 --- a/src-docs/src/views/flyout/flyout_large.js +++ b/src-docs/src/views/flyout/flyout_large.js @@ -10,10 +10,13 @@ import { EuiButtonGroup, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); const [size, setSize] = useState('l'); const [sizeName, setSizeName] = useState('large'); + const flyoutID__title = htmlIdGenerator('flyout')(); const sizes = [ { @@ -45,10 +48,10 @@ export default () => { ownFocus onClose={closeFlyout} size={size} - aria-labelledby="flyoutLargeTitle"> + aria-labelledby={flyoutID__title}> -

A {sizeName.toLowerCase()} flyout

+

A {sizeName.toLowerCase()} flyout

diff --git a/src-docs/src/views/flyout/flyout_max_width.js b/src-docs/src/views/flyout/flyout_max_width.js index 33b246a0cb4..f79575fa058 100644 --- a/src-docs/src/views/flyout/flyout_max_width.js +++ b/src-docs/src/views/flyout/flyout_max_width.js @@ -16,10 +16,13 @@ import { EuiSpacer, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); const [flyoutSize, setFlyoutSize] = useState('m'); const [flyoutMaxWidth, setFlyoutMaxWidth] = useState(false); + const flyoutID__title = htmlIdGenerator('flyout')(); const closeFlyout = () => setIsFlyoutVisible(false); @@ -49,12 +52,12 @@ export default () => { -

{maxWidthTitle} maxWidth

+

{maxWidthTitle} maxWidth

diff --git a/src-docs/src/views/flyout/flyout_padding_medium.js b/src-docs/src/views/flyout/flyout_padding_medium.js index fb2d75acbe6..c994f221f11 100644 --- a/src-docs/src/views/flyout/flyout_padding_medium.js +++ b/src-docs/src/views/flyout/flyout_padding_medium.js @@ -15,10 +15,14 @@ import { EuiTitle, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); const [paddingSize, setPaddingSize] = useState('l'); const [paddingSizeName, setPaddingSizeName] = useState('large'); + const flyoutID = htmlIdGenerator('flyout')(); + const flyoutID__title = htmlIdGenerator('flyout')(); const sizes = [ { @@ -56,11 +60,11 @@ export default () => { ownFocus onClose={closeFlyout} paddingSize={paddingSize} - id="flyoutMediumPadding" - aria-labelledby="flyoutMediumPaddingTitle"> + id={flyoutID} + aria-labelledby={flyoutID__title}> -

+

A flyout with a {paddingSizeName} padding

@@ -107,7 +111,7 @@ export default () => { <> diff --git a/src-docs/src/views/flyout/flyout_push.js b/src-docs/src/views/flyout/flyout_push.js index 5ba18cebc6b..237ce8fedd9 100644 --- a/src-docs/src/views/flyout/flyout_push.js +++ b/src-docs/src/views/flyout/flyout_push.js @@ -10,8 +10,11 @@ import { EuiFlyoutFooter, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); + const flyoutID__title = htmlIdGenerator('flyout')(); let flyout; @@ -21,10 +24,10 @@ export default () => { type="push" size="s" onClose={() => setIsFlyoutVisible(false)} - aria-labelledby="pushedFlyoutTitle"> + aria-labelledby={flyoutID__title}> -

A pushed flyout

+

A pushed flyout

diff --git a/src-docs/src/views/flyout/flyout_small.js b/src-docs/src/views/flyout/flyout_small.js index 852791c5bdf..1d09d482b5d 100644 --- a/src-docs/src/views/flyout/flyout_small.js +++ b/src-docs/src/views/flyout/flyout_small.js @@ -8,6 +8,7 @@ import { EuiText, EuiTitle, } from '../../../../src/components'; + import { htmlIdGenerator } from '../../../../src/services'; export default () => { @@ -17,7 +18,7 @@ export default () => { const toggleFlyout = () => setIsFlyoutVisible((isVisible) => !isVisible); - const flyoutTitleId = htmlIdGenerator('flyout')(); + const flyoutID__title = htmlIdGenerator('flyout')(); let flyout; if (isFlyoutVisible) { @@ -25,10 +26,10 @@ export default () => { + aria-labelledby={flyoutID__title}> -

A flyout without ownFocus

+

A flyout without ownFocus

diff --git a/src-docs/src/views/form_compressed/complex_example.js b/src-docs/src/views/form_compressed/complex_example.js index 0da079e8076..6f96d676327 100644 --- a/src-docs/src/views/form_compressed/complex_example.js +++ b/src-docs/src/views/form_compressed/complex_example.js @@ -86,6 +86,12 @@ export default () => { setGranularityToggleButtonsIdSelected, ] = useState(`${idPrefix}4`); + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); + const selectID__1 = htmlIdGenerator('select')(); + const selectID__2 = htmlIdGenerator('select')(); + const selectToolTipID = htmlIdGenerator('select-tooltip')(); + const onPopoverSliderValueChange = (e) => { setPopoverSliderValues(e.target.value); }; @@ -144,7 +150,7 @@ export default () => { min={0} max={100} name="range" - id="range" + id={rangeID__1} showInput compressed value={opacityValue} @@ -156,7 +162,7 @@ export default () => { - {selectTooltipContent} + {selectTooltipContent} {
{ { { const idPrefix = htmlIdGenerator()(); + const rangeID = htmlIdGenerator('range')(); const [checkboxes] = useState([ { @@ -102,7 +103,7 @@ export default () => { min={0} max={100} name="range" - id="range" + id={rangeID} showInput compressed value={value} diff --git a/src-docs/src/views/form_compressed/form_horizontal.js b/src-docs/src/views/form_compressed/form_horizontal.js index 06ed6c015a9..54b5934ec99 100644 --- a/src-docs/src/views/form_compressed/form_horizontal.js +++ b/src-docs/src/views/form_compressed/form_horizontal.js @@ -11,10 +11,13 @@ import { EuiPanel, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isSwitchChecked, setIsSwitchChecked] = useState(false); const [comboBoxSelectionOptions, setComboBoxSelectionOptions] = useState([]); const [value, setValue] = useState('20'); + const rangeID = htmlIdGenerator('range')(); const onRangeChange = (e) => { setValue(e.target.value); @@ -68,7 +71,7 @@ export default () => { min={0} max={100} name="range" - id="range" + id={rangeID} showInput compressed value={value} diff --git a/src-docs/src/views/form_controls/checkbox.js b/src-docs/src/views/form_controls/checkbox.js index 2d8c5359e13..4d76276203e 100644 --- a/src-docs/src/views/form_controls/checkbox.js +++ b/src-docs/src/views/form_controls/checkbox.js @@ -8,6 +8,11 @@ export default () => { const [checked, setChecked] = useState(false); const [indeterminate, setindeterminate] = useState(true); + const checkboxID__1 = htmlIdGenerator('checkbox')(); + const checkboxID__2 = htmlIdGenerator('checkbox')(); + const checkboxID__3 = htmlIdGenerator('checkbox')(); + const checkboxID__4 = htmlIdGenerator('checkbox')(); + const onChange = (e) => { setChecked(e.target.checked); }; @@ -19,7 +24,7 @@ export default () => { return ( onChange(e)} @@ -28,7 +33,7 @@ export default () => { onChangeIndeterminate()} @@ -37,7 +42,7 @@ export default () => { onChange(e)} @@ -47,7 +52,7 @@ export default () => { onChange(e)} diff --git a/src-docs/src/views/form_controls/file_picker.js b/src-docs/src/views/form_controls/file_picker.js index ebb24cc0aa3..f44e21310a1 100644 --- a/src-docs/src/views/form_controls/file_picker.js +++ b/src-docs/src/views/form_controls/file_picker.js @@ -10,10 +10,14 @@ import { EuiSwitch, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [files, setFiles] = useState({}); const [large, setLarge] = useState(true); + const filePickerID = htmlIdGenerator('filepicker')(); + const onChange = (files) => { setFiles(files.length > 0 ? files : {}); }; @@ -54,7 +58,7 @@ export default () => { />, ]}> { diff --git a/src-docs/src/views/form_controls/file_picker_remove.js b/src-docs/src/views/form_controls/file_picker_remove.js index ecb62eafc3b..2e374bce756 100644 --- a/src-docs/src/views/form_controls/file_picker_remove.js +++ b/src-docs/src/views/form_controls/file_picker_remove.js @@ -7,10 +7,14 @@ import { EuiFlexItem, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [files, setFiles] = useState({}); const filePickerRef = useRef(); + const filePickerID = htmlIdGenerator('filepicker')(); + const onChange = (files) => { setFiles(files.length > 0 ? files : {}); }; @@ -21,7 +25,7 @@ export default () => { { const [checked, setChecked] = useState(false); + const radioID__1 = htmlIdGenerator('radio')(); + const radioID__2 = htmlIdGenerator('radio')(); + const radioID__3 = htmlIdGenerator('radio')(); + const onChange = (e) => { setChecked(e.target.checked); }; @@ -14,7 +18,7 @@ export default () => { return ( onChange(e)} @@ -23,7 +27,7 @@ export default () => { onChange(e)} @@ -33,7 +37,7 @@ export default () => { onChange(e)} diff --git a/src-docs/src/views/form_controls/select.js b/src-docs/src/views/form_controls/select.js index b8b7f96183d..7a1da42449e 100644 --- a/src-docs/src/views/form_controls/select.js +++ b/src-docs/src/views/form_controls/select.js @@ -2,6 +2,7 @@ import React, { useState } from 'react'; import { EuiSelect } from '../../../../src/components'; import { DisplayToggles } from './display_toggles'; +import { htmlIdGenerator } from '../../../../src/services'; export default () => { const options = [ @@ -11,6 +12,7 @@ export default () => { ]; const [value, setValue] = useState(options[1].value); + const selectID = htmlIdGenerator('select')(); const onChange = (e) => { setValue(e.target.value); @@ -20,7 +22,7 @@ export default () => { /* DisplayToggles wrapper for Docs only */ onChange(e)} diff --git a/src-docs/src/views/form_layouts/inline_popover.js b/src-docs/src/views/form_layouts/inline_popover.js index 506b40b3a9e..8ff698568f7 100644 --- a/src-docs/src/views/form_layouts/inline_popover.js +++ b/src-docs/src/views/form_layouts/inline_popover.js @@ -21,6 +21,10 @@ export default () => { const [isPopover2Open, setIsPopover2Open] = useState(false); const [isSwitchChecked, setIsSwitchChecked] = useState(true); + const switchID = htmlIdGenerator('switch')(); + const popoverID__1 = htmlIdGenerator('popover')(); + const popoverID__2 = htmlIdGenerator('popover')(); + const onButtonClick = () => { setIsPopoverOpen(!isPopoverOpen); }; @@ -87,7 +91,7 @@ export default () => { { return (
@@ -119,7 +123,7 @@ export default () => { { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); const [isPopoverVisible, setIsPopoverVisible] = useState(false); + const flyoutID = htmlIdGenerator('flyout')(); + const flyoutID__title = htmlIdGenerator('flyout')(); + const popoverID = htmlIdGenerator('popoverID')(); + const alerts = [ { title: 'Control access to features', @@ -127,7 +131,7 @@ const HeaderUpdates = () => { const bellButton = ( { const cheerButton = ( { + id={flyoutID} + aria-labelledby={flyoutID__title}> -

What's new

+

What's new

@@ -196,7 +200,7 @@ const HeaderUpdates = () => { const popover = ( { + const [keypadButtonID__1] = useState(htmlIdGenerator('keypad-button')()); + const [keypadButtonID__2] = useState(htmlIdGenerator('keypad-button')()); + const [keypadButtonID__3] = useState(htmlIdGenerator('keypad-button')()); + const radioGroupName = 'singleKeypadSelect'; - const [singleSelectedID, setSingleSelectedID] = useState( - 'singleKeypadSelect1' - ); + const [singleSelectedID, setSingleSelectedID] = useState(keypadButtonID__1); return ( { setSingleSelectedID(id); }} - isSelected={singleSelectedID === 'singleKeypadSelect1'}> + isSelected={singleSelectedID === keypadButtonID__1}> { setSingleSelectedID(id); }} - isSelected={singleSelectedID === 'singleKeypadSelect2'}> + isSelected={singleSelectedID === keypadButtonID__2}> diff --git a/src-docs/src/views/key_pad_menu/key_pad_menu_checkable_multi.js b/src-docs/src/views/key_pad_menu/key_pad_menu_checkable_multi.js index 511f479ba1a..bd505dd032f 100644 --- a/src-docs/src/views/key_pad_menu/key_pad_menu_checkable_multi.js +++ b/src-docs/src/views/key_pad_menu/key_pad_menu_checkable_multi.js @@ -6,14 +6,21 @@ import { EuiKeyPadMenuItem, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [multiSelect1isSelected, setmultiSelect1isSelected] = useState(true); const [multiSelect3isSelected, setmultiSelect2isSelected] = useState(false); + const keypadButtonID__1 = htmlIdGenerator('keypad-button')(); + const keypadButtonID__2 = htmlIdGenerator('keypad-button')(); + const keypadButtonID__3 = htmlIdGenerator('keypad-button')(); + return ( { @@ -24,7 +31,7 @@ export default () => { { setmultiSelect2isSelected((selected) => !selected); @@ -33,7 +40,7 @@ export default () => { diff --git a/src-docs/src/views/key_pad_menu/key_pad_menu_item_button.js b/src-docs/src/views/key_pad_menu/key_pad_menu_item_button.js index d66d79a4407..7f2c75881d6 100644 --- a/src-docs/src/views/key_pad_menu/key_pad_menu_item_button.js +++ b/src-docs/src/views/key_pad_menu/key_pad_menu_item_button.js @@ -5,50 +5,57 @@ import { EuiKeyPadMenu, EuiKeyPadMenuItem, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; export default () => { - const [selectedID, setSelectedID] = useState('keypadButton6'); + const keypadButtonID__1 = htmlIdGenerator('keypad-button')(); + const keypadButtonID__2 = htmlIdGenerator('keypad-button')(); + const keypadButtonID__3 = htmlIdGenerator('keypad-button')(); + const keypadButtonID__4 = htmlIdGenerator('keypad-button')(); + const keypadButtonID__5 = htmlIdGenerator('keypad-button')(); + const keypadButtonID__6 = htmlIdGenerator('keypad-button')(); + const [selectedID, setSelectedID] = useState(keypadButtonID__6); return ( setSelectedID('keypadButton1')}> + isSelected={selectedID === keypadButtonID__1} + onClick={() => setSelectedID(keypadButtonID__1)}> setSelectedID('keypadButton3')}> + isSelected={selectedID === keypadButtonID__2} + onClick={() => setSelectedID(keypadButtonID__2)}> - + setSelectedID('keypadButton4')}> + isSelected={selectedID === keypadButtonID__4} + onClick={() => setSelectedID(keypadButtonID__4)}> setSelectedID('keypadButton5')}> + isSelected={selectedID === keypadButtonID__5} + onClick={() => setSelectedID(keypadButtonID__5)}> + isSelected={selectedID === keypadButtonID__6}> diff --git a/src-docs/src/views/list_group/list_group_link_actions.js b/src-docs/src/views/list_group/list_group_link_actions.js index 6cbdd4518a5..dbad52b0e65 100644 --- a/src-docs/src/views/list_group/list_group_link_actions.js +++ b/src-docs/src/views/list_group/list_group_link_actions.js @@ -2,35 +2,43 @@ import React, { useState } from 'react'; import { EuiListGroup, EuiListGroupItem } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { + const [linkID__1] = useState(htmlIdGenerator('link')()); + const [linkID__2] = useState(htmlIdGenerator('link')()); + const [linkID__3] = useState(htmlIdGenerator('link')()); + const [linkID__4] = useState(htmlIdGenerator('link')()); + const [linkID__5] = useState(htmlIdGenerator('link')()); + const [favorite1, setFavorite1] = useState(undefined); - const [favorite2, setFavorite2] = useState('link2'); + const [favorite2, setFavorite2] = useState(linkID__2); const [favorite3, setFavorite3] = useState(undefined); const [favorite4, setFavorite4] = useState(undefined); const link1Clicked = () => { - setFavorite1(favorite1 === 'link1' ? undefined : 'link1'); + setFavorite1(favorite1 === linkID__1 ? undefined : linkID__1); if (favorite1 === undefined) { document.activeElement.blur(); } }; const link2Clicked = () => { - setFavorite2(favorite2 === 'link2' ? undefined : 'link2'); + setFavorite2(favorite2 === linkID__2 ? undefined : linkID__2); if (favorite2 === undefined) { document.activeElement.blur(); } }; const link3Clicked = () => { - setFavorite3(favorite3 === 'link3' ? undefined : 'link3'); + setFavorite3(favorite3 === linkID__3 ? undefined : linkID__3); if (favorite3 === undefined) { document.activeElement.blur(); } }; const link4Clicked = () => { - setFavorite4(favorite4 === 'link4' ? undefined : 'link4'); + setFavorite4(favorite4 === linkID__4 ? undefined : linkID__4); if (favorite3 === undefined) { document.activeElement.blur(); } @@ -39,7 +47,7 @@ export default () => { return ( {}} @@ -47,30 +55,30 @@ export default () => { extraAction={{ color: 'subdued', onClick: link1Clicked, - iconType: favorite1 === 'link1' ? 'starFilled' : 'starEmpty', + iconType: favorite1 === linkID__1 ? 'starFilled' : 'starEmpty', iconSize: 's', 'aria-label': 'Favorite link1', - alwaysShow: favorite1 === 'link1', + alwaysShow: favorite1 === linkID__1, }} /> {}} label="EUI button link" extraAction={{ color: 'subdued', onClick: link2Clicked, - iconType: favorite2 === 'link2' ? 'starFilled' : 'starEmpty', + iconType: favorite2 === linkID__2 ? 'starFilled' : 'starEmpty', iconSize: 's', 'aria-label': 'Favorite link2', - alwaysShow: favorite2 === 'link2', + alwaysShow: favorite2 === linkID__2, }} /> {}} @@ -78,31 +86,31 @@ export default () => { extraAction={{ color: 'subdued', onClick: link3Clicked, - iconType: favorite3 === 'link3' ? 'starFilled' : 'starEmpty', + iconType: favorite3 === linkID__3 ? 'starFilled' : 'starEmpty', iconSize: 's', 'aria-label': 'Favorite link3', - alwaysShow: favorite3 === 'link3', + alwaysShow: favorite3 === linkID__3, }} /> {}} iconType="broom" label="EUI button link" extraAction={{ color: 'subdued', onClick: link4Clicked, - iconType: favorite4 === 'link4' ? 'starFilled' : 'starEmpty', + iconType: favorite4 === linkID__4 ? 'starFilled' : 'starEmpty', iconSize: 's', 'aria-label': 'Favorite link4', - alwaysShow: favorite3 === 'link4', + alwaysShow: favorite3 === linkID__4, isDisabled: true, }} /> { const [isSwitchChecked, setIsSwitchChecked] = useState(true); const [superSelectvalue, setSuperSelectValue] = useState('option_one'); + const formID = htmlIdGenerator('form')(); + const switchID = htmlIdGenerator('switch')(); + const onSwitchChange = () => setIsSwitchChecked((isSwitchChecked) => !isSwitchChecked); @@ -77,10 +80,10 @@ export default () => { ]; const formSample = ( - + { Cancel - + Save diff --git a/src-docs/src/views/popover/trap_focus.js b/src-docs/src/views/popover/trap_focus.js index c1109085e1b..78c72141bd8 100644 --- a/src-docs/src/views/popover/trap_focus.js +++ b/src-docs/src/views/popover/trap_focus.js @@ -8,8 +8,12 @@ import { EuiSwitch, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + export default () => { const [isPopoverOpen, setIsPopoverOpen] = useState(false); + const formRowID__1 = htmlIdGenerator('formrow')(); + const formRowID__2 = htmlIdGenerator('formrow')(); const onButtonClick = () => setIsPopoverOpen((isPopoverOpen) => !isPopoverOpen); @@ -27,10 +31,10 @@ export default () => { button={button} isOpen={isPopoverOpen} closePopover={closePopover} - initialFocus="[id=asdf2]"> + initalFocus={`[id=${formRowID__2}]`}> { /> - + { const [value, setValue] = useState(['100', '150']); const [value2, setValue2] = useState(['40', '60']); + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); return ( <> { { const [value, setValue] = useState('20'); const [dualValue, setDualValue] = useState([20, 100]); + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); + const onChange = (e) => { setValue(e.target.value); }; @@ -19,7 +22,7 @@ export default () => { return ( { { const [value, setValue] = useState('20'); const [dualValue, setDualValue] = useState([20, 100]); + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); + const onChange = (e) => { setValue(e.target.value); }; @@ -34,7 +37,7 @@ export default () => { { { const [value, setvalue] = useState('20'); const [dualValue, setDualValue] = useState([20, 100]); + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); + const levels = [ { min: 0, @@ -37,7 +40,7 @@ export default () => { return ( onChange(e)} showTicks @@ -52,7 +55,7 @@ export default () => { onDualChange(value)} showTicks diff --git a/src-docs/src/views/range/range.js b/src-docs/src/views/range/range.js index 243b0c1c605..f23a9a077a4 100644 --- a/src-docs/src/views/range/range.js +++ b/src-docs/src/views/range/range.js @@ -6,6 +6,9 @@ import { htmlIdGenerator } from '../../../../src/services'; export default () => { const [value, setValue] = useState('120'); + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); + const rangeID__3 = htmlIdGenerator('range')(); const onChange = (e) => { setValue(e.target.value); @@ -14,7 +17,7 @@ export default () => { return ( { { { const [value, setValue] = useState('20'); const [dualValue, setDualValue] = useState([20, 100]); + + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); + const levels = [ { min: 0, @@ -33,7 +37,7 @@ export default () => { { { const [value, setValue] = useState('20'); const [dualValue, setDualValue] = useState([20, 100]); + const rangeID__1 = htmlIdGenerator('range')(); + const rangeID__2 = htmlIdGenerator('range')(); + const rangeID__3 = htmlIdGenerator('range')(); + const rangeID__4 = htmlIdGenerator('range')(); + const onChange = (e) => { setValue(e.target.value); }; @@ -24,7 +29,7 @@ export default () => { return ( { { { @@ -18,13 +19,15 @@ const text = ( ); -const firstPanelId = 'resizable-panel__1'; -const secondPanelId = 'resizable-panel__2'; +//const firstPanelId = 'resizable-panel__1'; +//const secondPanelId = 'resizable-panel__2'; +const panelID__1 = htmlIdGenerator('panel')(); +const panelID__2 = htmlIdGenerator('panel')(); const stored = localStorage.getItem('resizableContainer'); const storedSizes = stored && JSON.parse(stored); const defaultSizes = storedSizes || { - [firstPanelId]: 50, - [secondPanelId]: 50, + [panelID__1]: 50, + [panelID__2]: 50, }; export default () => { @@ -40,16 +43,16 @@ export default () => { const onClick30x70 = useCallback( () => setSizes({ - [firstPanelId]: 30, - [secondPanelId]: 70, + [panelID__1]: 30, + [panelID__2]: 70, }), [] ); const onClick80x20 = useCallback( () => setSizes({ - [firstPanelId]: 80, - [secondPanelId]: 20, + [panelID__1]: 80, + [panelID__2]: 20, }), [] ); @@ -88,8 +91,8 @@ export default () => { {(EuiResizablePanel, EuiResizableButton) => ( <>
{text}
@@ -99,8 +102,8 @@ export default () => {
{text}
diff --git a/src-docs/src/views/resizable_container/resizable_panel_collapsible_external.js b/src-docs/src/views/resizable_container/resizable_panel_collapsible_external.js index bd1679baf58..79b6320edf6 100644 --- a/src-docs/src/views/resizable_container/resizable_panel_collapsible_external.js +++ b/src-docs/src/views/resizable_container/resizable_panel_collapsible_external.js @@ -10,6 +10,7 @@ import { EuiFlexItem, EuiText, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; const toggleButtons = [ { @@ -26,6 +27,9 @@ export default () => { const collapseFn = useRef(() => {}); const [toggleIdToSelectedMap, setToggleIdToSelectedMap] = useState({}); + const panelID__1 = htmlIdGenerator('panel')(); + const panelID__2 = htmlIdGenerator('panel')(); + const panelID__3 = htmlIdGenerator('panel')(); const onCollapse = (optionId) => { const newToggleIdToSelectedMap = { @@ -61,7 +65,7 @@ export default () => { togglePanel(id, { direction }); return ( <> - +

Panel 1

@@ -71,7 +75,10 @@ export default () => { - +

Panel 2

@@ -83,7 +90,7 @@ export default () => {