ESLint: All the single quotes

This commit is contained in:
regexowl 2025-08-05 13:52:45 +02:00 committed by Gianluca Zuccarelli
parent eafcd200ae
commit bb345c0e4f
118 changed files with 1269 additions and 1269 deletions

View file

@ -124,7 +124,7 @@ module.exports = defineConfig([
semi: true, semi: true,
tabWidth: 2, tabWidth: 2,
singleQuote: true, singleQuote: true,
jsxSingleQuote: false, jsxSingleQuote: true,
bracketSpacing: true, bracketSpacing: true,
tsxSingleQuote: true, tsxSingleQuote: true,
tsSingleQuote: true, tsSingleQuote: true,

View file

@ -41,7 +41,7 @@ const Application = () => {
}; };
const ImageBuilder = () => ( const ImageBuilder = () => (
<Provider store={store}> <Provider store={store}>
<Page className="no-masthead-sidebar" isContentFilled> <Page className='no-masthead-sidebar' isContentFilled>
<PageSection> <PageSection>
<Application /> <Application />
</PageSection> </PageSection>

View file

@ -58,10 +58,10 @@ export const BlueprintActionsMenu: React.FunctionComponent<
ref={toggleRef} ref={toggleRef}
isExpanded={showBlueprintActionsMenu} isExpanded={showBlueprintActionsMenu}
onClick={() => setShowBlueprintActionsMenu(!showBlueprintActionsMenu)} onClick={() => setShowBlueprintActionsMenu(!showBlueprintActionsMenu)}
variant="plain" variant='plain'
aria-label="blueprint menu toggle" aria-label='blueprint menu toggle'
> >
<EllipsisVIcon aria-hidden="true" /> <EllipsisVIcon aria-hidden='true' />
</MenuToggle> </MenuToggle>
)} )}
> >

View file

@ -52,7 +52,7 @@ const BlueprintCard = ({ blueprint }: blueprintProps) => {
> >
<CardTitle> <CardTitle>
{isLoading && blueprint.id === selectedBlueprintId && ( {isLoading && blueprint.id === selectedBlueprintId && (
<Spinner size="md" /> <Spinner size='md' />
)} )}
{blueprint.name} {blueprint.name}
</CardTitle> </CardTitle>

View file

@ -53,20 +53,20 @@ const BlueprintDiffModal = ({
/> />
<ModalBody> <ModalBody>
<DiffEditor <DiffEditor
height="90vh" height='90vh'
language="json" language='json'
original={JSON.stringify(baseBlueprint, undefined, 2)} original={JSON.stringify(baseBlueprint, undefined, 2)}
modified={JSON.stringify(blueprint, undefined, 2)} modified={JSON.stringify(blueprint, undefined, 2)}
/> />
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<BuildImagesButton key="build-button"> <BuildImagesButton key='build-button'>
Synchronize images Synchronize images
</BuildImagesButton> </BuildImagesButton>
<Button <Button
key="cancel-button" key='cancel-button'
variant="link" variant='link'
type="button" type='button'
onClick={onClose} onClick={onClose}
> >
Cancel Cancel

View file

@ -58,10 +58,10 @@ const BlueprintVersionFilter: React.FC<blueprintVersionFilterProps> = ({
shouldFocusToggleOnSelect shouldFocusToggleOnSelect
> >
<DropdownList> <DropdownList>
<DropdownItem value={'all'} key="all"> <DropdownItem value={'all'} key='all'>
All versions All versions
</DropdownItem> </DropdownItem>
<DropdownItem value={'latest'} key="newest"> <DropdownItem value={'latest'} key='newest'>
Newest Newest
</DropdownItem> </DropdownItem>
</DropdownList> </DropdownList>

View file

@ -50,8 +50,8 @@ const BlueprintsPagination = () => {
page={currPage} page={currPage}
onSetPage={onSetPage} onSetPage={onSetPage}
onPerPageSelect={onPerPageSelect} onPerPageSelect={onPerPageSelect}
widgetId="blueprints-pagination-bottom" widgetId='blueprints-pagination-bottom'
data-testid="blueprints-pagination-bottom" data-testid='blueprints-pagination-bottom'
isCompact isCompact
/> />
); );

View file

@ -100,7 +100,7 @@ const BlueprintsSidebar = () => {
if (isLoading) { if (isLoading) {
return ( return (
<Bullseye> <Bullseye>
<Spinner size="xl" /> <Spinner size='xl' />
</Bullseye> </Bullseye>
); );
} }
@ -114,8 +114,8 @@ const BlueprintsSidebar = () => {
<EmptyBlueprintState <EmptyBlueprintState
icon={PlusCircleIcon} icon={PlusCircleIcon}
action={<Link to={resolveRelPath('imagewizard')}>Add blueprint</Link>} action={<Link to={resolveRelPath('imagewizard')}>Add blueprint</Link>}
titleText="No blueprints yet" titleText='No blueprints yet'
bodyText="Add a blueprint and optionally build related images." bodyText='Add a blueprint and optionally build related images.'
/> />
); );
} }
@ -147,7 +147,7 @@ const BlueprintsSidebar = () => {
<Flex justifyContent={{ default: 'justifyContentCenter' }}> <Flex justifyContent={{ default: 'justifyContentCenter' }}>
<FlexItem> <FlexItem>
<Button <Button
variant="link" variant='link'
isDisabled={!selectedBlueprintId} isDisabled={!selectedBlueprintId}
onClick={handleClickViewAll} onClick={handleClickViewAll}
> >
@ -163,14 +163,14 @@ const BlueprintsSidebar = () => {
icon={SearchIcon} icon={SearchIcon}
action={ action={
<Button <Button
variant="link" variant='link'
onClick={() => dispatch(setBlueprintSearchInput(undefined))} onClick={() => dispatch(setBlueprintSearchInput(undefined))}
> >
Clear all filters Clear all filters
</Button> </Button>
} }
titleText="No blueprints found" titleText='No blueprints found'
bodyText="No blueprints match your search criteria. Try a different search." bodyText='No blueprints match your search criteria. Try a different search.'
/> />
)} )}
{blueprintsTotal > 0 && {blueprintsTotal > 0 &&
@ -212,7 +212,7 @@ const BlueprintSearch = ({ blueprintsTotal }: blueprintSearchProps) => {
return ( return (
<SearchInput <SearchInput
value={blueprintSearchInput || ''} value={blueprintSearchInput || ''}
placeholder="Search by name or description" placeholder='Search by name or description'
onChange={(_event, value) => onChange(value)} onChange={(_event, value) => onChange(value)}
onClear={() => onChange('')} onClear={() => onChange('')}
resultsCount={`${blueprintsTotal} blueprints`} resultsCount={`${blueprintsTotal} blueprints`}
@ -226,7 +226,7 @@ const EmptyBlueprintState = ({
icon, icon,
action, action,
}: emptyBlueprintStateProps) => ( }: emptyBlueprintStateProps) => (
<EmptyState headingLevel="h4" icon={icon} titleText={titleText} variant="sm"> <EmptyState headingLevel='h4' icon={icon} titleText={titleText} variant='sm'>
<EmptyStateBody>{bodyText}</EmptyStateBody> <EmptyStateBody>{bodyText}</EmptyStateBody>
<EmptyStateFooter> <EmptyStateFooter>
<EmptyStateActions>{action}</EmptyStateActions> <EmptyStateActions>{action}</EmptyStateActions>

View file

@ -101,17 +101,17 @@ export const BuildImagesButton = ({ children }: BuildImagesButtonPropTypes) => {
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)} onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
toggle={(toggleRef: React.Ref<MenuToggleElement>) => ( toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
variant="primary" variant='primary'
data-testid="blueprint-build-image-menu" data-testid='blueprint-build-image-menu'
ref={toggleRef} ref={toggleRef}
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
splitButtonItems={[ splitButtonItems={[
<MenuToggleAction <MenuToggleAction
data-testid="blueprint-build-image-menu-option" data-testid='blueprint-build-image-menu-option'
key="split-action" key='split-action'
onClick={onBuildHandler} onClick={onBuildHandler}
id="wizard-build-image-btn" id='wizard-build-image-btn'
isDisabled={ isDisabled={
!selectedBlueprintId || !selectedBlueprintId ||
deselectedTargets.length === blueprintImageType?.length deselectedTargets.length === blueprintImageType?.length
@ -127,7 +127,7 @@ export const BuildImagesButton = ({ children }: BuildImagesButtonPropTypes) => {
} as React.CSSProperties } as React.CSSProperties
} }
isInline isInline
size="md" size='md'
/> />
</FlexItem> </FlexItem>
)} )}

View file

@ -93,16 +93,16 @@ export const DeleteBlueprintModal: React.FunctionComponent<
}; };
return ( return (
<Modal variant={ModalVariant.small} isOpen={isOpen} onClose={onDeleteClose}> <Modal variant={ModalVariant.small} isOpen={isOpen} onClose={onDeleteClose}>
<ModalHeader title={'Delete blueprint?'} titleIconVariant="warning" /> <ModalHeader title={'Delete blueprint?'} titleIconVariant='warning' />
<ModalBody> <ModalBody>
All versions of {blueprintName} and its associated images will be All versions of {blueprintName} and its associated images will be
deleted. deleted.
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button variant="danger" type="button" onClick={handleDelete}> <Button variant='danger' type='button' onClick={handleDelete}>
Delete Delete
</Button> </Button>
<Button variant="link" type="button" onClick={onDeleteClose}> <Button variant='link' type='button' onClick={onDeleteClose}>
Cancel Cancel
</Button> </Button>
</ModalFooter> </ModalFooter>

View file

@ -16,7 +16,7 @@ export const EditBlueprintButton = () => {
onClick={() => onClick={() =>
navigate(resolveRelPath(`imagewizard/${selectedBlueprintId}`)) navigate(resolveRelPath(`imagewizard/${selectedBlueprintId}`))
} }
variant="secondary" variant='secondary'
> >
Edit blueprint Edit blueprint
</Button> </Button>

View file

@ -258,9 +258,9 @@ export const ImportBlueprintModal: React.FunctionComponent<
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
aria-label="About import" aria-label='About import'
className="pf-v6-u-pl-sm" className='pf-v6-u-pl-sm'
isInline isInline
/> />
</Popover> </Popover>
@ -269,23 +269,23 @@ export const ImportBlueprintModal: React.FunctionComponent<
/> />
<ModalBody> <ModalBody>
<Form> <Form>
<FormGroup fieldId="checkbox-import-custom-repositories"> <FormGroup fieldId='checkbox-import-custom-repositories'>
<Checkbox <Checkbox
label="Import missing custom repositories after file upload." label='Import missing custom repositories after file upload.'
isChecked={isCheckedImportRepos} isChecked={isCheckedImportRepos}
onChange={() => setIsCheckedImportRepos((prev) => !prev)} onChange={() => setIsCheckedImportRepos((prev) => !prev)}
aria-label="Import Custom Repositories checkbox" aria-label='Import Custom Repositories checkbox'
id="checkbox-import-custom-repositories" id='checkbox-import-custom-repositories'
name="Import Repositories" name='Import Repositories'
/> />
</FormGroup> </FormGroup>
<FormGroup fieldId="import-blueprint-file-upload"> <FormGroup fieldId='import-blueprint-file-upload'>
<FileUpload <FileUpload
id="import-blueprint-file-upload" id='import-blueprint-file-upload'
type="text" type='text'
value={fileContent} value={fileContent}
filename={filename} filename={filename}
filenamePlaceholder="Drag and drop a file or upload one" filenamePlaceholder='Drag and drop a file or upload one'
onFileInputChange={handleFileInputChange} onFileInputChange={handleFileInputChange}
onDataChange={handleDataChange} onDataChange={handleDataChange}
onReadStarted={handleFileReadStarted} onReadStarted={handleFileReadStarted}
@ -293,7 +293,7 @@ export const ImportBlueprintModal: React.FunctionComponent<
onClearClick={handleClear} onClearClick={handleClear}
isLoading={isLoading} isLoading={isLoading}
isReadOnly={true} isReadOnly={true}
browseButtonText="Upload" browseButtonText='Upload'
dropzoneProps={{ dropzoneProps={{
accept: { 'text/json': ['.json'], 'text/plain': ['.toml'] }, accept: { 'text/json': ['.json'], 'text/plain': ['.toml'] },
maxSize: 512000, maxSize: 512000,
@ -319,7 +319,7 @@ export const ImportBlueprintModal: React.FunctionComponent<
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button <Button
type="button" type='button'
isDisabled={isRejected || isInvalidFormat || !fileContent} isDisabled={isRejected || isInvalidFormat || !fileContent}
onClick={() => onClick={() =>
navigate(resolveRelPath(`imagewizard/import`), { navigate(resolveRelPath(`imagewizard/import`), {
@ -329,7 +329,7 @@ export const ImportBlueprintModal: React.FunctionComponent<
> >
Review and finish Review and finish
</Button> </Button>
<Button variant="link" type="button" onClick={onImportClose}> <Button variant='link' type='button' onClick={onImportClose}>
Cancel Cancel
</Button> </Button>
</ModalFooter> </ModalFooter>

View file

@ -44,13 +44,13 @@ const AWSConfigToggle = ({ value, onChange }: ToggleGroupProps) => {
}; };
return ( return (
<FormGroup label="Configure AWS Uploads"> <FormGroup label='Configure AWS Uploads'>
<Switch <Switch
id="aws-config-switch" id='aws-config-switch'
ouiaId="aws-config-switch" ouiaId='aws-config-switch'
aria-label="aws-config-switch" aria-label='aws-config-switch'
// empty label so there is no icon // empty label so there is no icon
label="" label=''
isChecked={value} isChecked={value}
onChange={handleChange} onChange={handleChange}
/> />
@ -79,19 +79,19 @@ const AWSBucket = ({ value, onChange, isDisabled }: FormGroupProps<string>) => {
if (isDisabled) { if (isDisabled) {
return ( return (
<DisabledInputGroup label={label} value={value} ariaLabel="aws-bucket" /> <DisabledInputGroup label={label} value={value} ariaLabel='aws-bucket' />
); );
} }
return ( return (
<FormGroup label={label}> <FormGroup label={label}>
<ValidatedInput <ValidatedInput
placeholder="AWS bucket" placeholder='AWS bucket'
ariaLabel="aws-bucket" ariaLabel='aws-bucket'
value={value || ''} value={value || ''}
validator={isAwsBucketValid} validator={isAwsBucketValid}
onChange={(_event, value) => onChange(value)} onChange={(_event, value) => onChange(value)}
helperText="Invalid AWS bucket name" helperText='Invalid AWS bucket name'
/> />
</FormGroup> </FormGroup>
); );
@ -100,7 +100,7 @@ const AWSBucket = ({ value, onChange, isDisabled }: FormGroupProps<string>) => {
const CredsPathPopover = () => { const CredsPathPopover = () => {
return ( return (
<Popover <Popover
minWidth="35rem" minWidth='35rem'
headerContent={'What is the AWS Credentials Path?'} headerContent={'What is the AWS Credentials Path?'}
bodyContent={ bodyContent={
<Content> <Content>
@ -115,9 +115,9 @@ const CredsPathPopover = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
aria-label="Credentials Path Info" aria-label='Credentials Path Info'
className="pf-v6-u-pl-sm header-button" className='pf-v6-u-pl-sm header-button'
/> />
</Popover> </Popover>
); );
@ -139,7 +139,7 @@ const AWSCredsPath = ({
<DisabledInputGroup <DisabledInputGroup
value={value} value={value}
label={label} label={label}
ariaLabel="aws-creds-path" ariaLabel='aws-creds-path'
/> />
); );
} }
@ -147,12 +147,12 @@ const AWSCredsPath = ({
return ( return (
<FormGroup label={label}> <FormGroup label={label}>
<ValidatedInput <ValidatedInput
placeholder="Path to AWS credentials" placeholder='Path to AWS credentials'
ariaLabel="aws-creds-path" ariaLabel='aws-creds-path'
value={value || ''} value={value || ''}
validator={isAwsCredsPathValid} validator={isAwsCredsPathValid}
onChange={(_event, value) => onChange(value)} onChange={(_event, value) => onChange(value)}
helperText="Invalid filepath for AWS credentials" helperText='Invalid filepath for AWS credentials'
/> />
</FormGroup> </FormGroup>
); );

View file

@ -48,9 +48,9 @@ const ConfigError = ({
<EmptyState <EmptyState
variant={EmptyStateVariant.xl} variant={EmptyStateVariant.xl}
icon={ExclamationIcon} icon={ExclamationIcon}
color="#C9190B" color='#C9190B'
> >
<Title headingLevel="h4" size="lg"> <Title headingLevel='h4' size='lg'>
Error Error
</Title> </Title>
<EmptyStateBody> <EmptyStateBody>
@ -59,7 +59,7 @@ const ConfigError = ({
</EmptyStateBody> </EmptyStateBody>
<EmptyStateFooter> <EmptyStateFooter>
<EmptyStateActions> <EmptyStateActions>
<Button variant="primary" onClick={onClose}> <Button variant='primary' onClick={onClose}>
Go back Go back
</Button> </Button>
</EmptyStateActions> </EmptyStateActions>
@ -118,8 +118,8 @@ export const CloudProviderConfig = () => {
<PageSection> <PageSection>
<Wizard onClose={handleClose}> <Wizard onClose={handleClose}>
<WizardStep <WizardStep
name="AWS Config" name='AWS Config'
id="aws-config" id='aws-config'
footer={{ footer={{
nextButtonText: 'Submit', nextButtonText: 'Submit',
isNextDisabled: !isAwsStepValid(config), isNextDisabled: !isAwsStepValid(config),

View file

@ -13,7 +13,7 @@ import cockpit from 'cockpit';
export const NotReady = ({ enabled }: { enabled: boolean }) => { export const NotReady = ({ enabled }: { enabled: boolean }) => {
return ( return (
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
icon={CubesIcon} icon={CubesIcon}
titleText={`OSBuild Composer is not ${enabled ? 'started' : 'enabled'}`} titleText={`OSBuild Composer is not ${enabled ? 'started' : 'enabled'}`}
variant={EmptyStateVariant.xl} variant={EmptyStateVariant.xl}
@ -21,7 +21,7 @@ export const NotReady = ({ enabled }: { enabled: boolean }) => {
<EmptyStateFooter> <EmptyStateFooter>
<EmptyStateActions> <EmptyStateActions>
<Button <Button
variant="primary" variant='primary'
onClick={(event) => { onClick={(event) => {
event.preventDefault(); event.preventDefault();
cockpit cockpit
@ -40,7 +40,7 @@ export const NotReady = ({ enabled }: { enabled: boolean }) => {
</EmptyStateActions> </EmptyStateActions>
<EmptyStateActions> <EmptyStateActions>
<Button <Button
variant="link" variant='link'
onClick={(event) => { onClick={(event) => {
event.preventDefault(); event.preventDefault();
cockpit.jump( cockpit.jump(

View file

@ -10,9 +10,9 @@ import { LockIcon } from '@patternfly/react-icons';
export const RequireAdmin = () => { export const RequireAdmin = () => {
return ( return (
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
icon={LockIcon} icon={LockIcon}
titleText="Access is limited." titleText='Access is limited.'
variant={EmptyStateVariant.xl} variant={EmptyStateVariant.xl}
> >
<EmptyStateBody> <EmptyStateBody>

View file

@ -118,7 +118,7 @@ export const CustomWizardFooter = ({
<WizardFooterWrapper> <WizardFooterWrapper>
<Flex columnGap={{ default: 'columnGapSm' }}> <Flex columnGap={{ default: 'columnGapSm' }}>
<Button <Button
variant="primary" variant='primary'
onClick={() => { onClick={() => {
if (!process.env.IS_ON_PREMISE) { if (!process.env.IS_ON_PREMISE) {
analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, { analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, {
@ -134,7 +134,7 @@ export const CustomWizardFooter = ({
Next Next
</Button> </Button>
<Button <Button
variant="secondary" variant='secondary'
onClick={() => { onClick={() => {
if (!process.env.IS_ON_PREMISE) { if (!process.env.IS_ON_PREMISE) {
analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, { analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, {
@ -151,7 +151,7 @@ export const CustomWizardFooter = ({
</Button> </Button>
{optional && ( {optional && (
<Button <Button
variant="tertiary" variant='tertiary'
onClick={() => { onClick={() => {
if (!process.env.IS_ON_PREMISE) { if (!process.env.IS_ON_PREMISE) {
analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, { analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, {
@ -168,7 +168,7 @@ export const CustomWizardFooter = ({
</Button> </Button>
)} )}
<Button <Button
variant="link" variant='link'
onClick={() => { onClick={() => {
if (!process.env.IS_ON_PREMISE) { if (!process.env.IS_ON_PREMISE) {
analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, { analytics.track(`${AMPLITUDE_MODULE_NAME} - Button Clicked`, {
@ -372,8 +372,8 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
isVisitRequired isVisitRequired
> >
<WizardStep <WizardStep
name="Image output" name='Image output'
id="step-image-output" id='step-image-output'
footer={ footer={
<CustomWizardFooter <CustomWizardFooter
disableNext={targetEnvironments.length === 0} disableNext={targetEnvironments.length === 0}
@ -384,8 +384,8 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<ImageOutputStep /> <ImageOutputStep />
</WizardStep> </WizardStep>
<WizardStep <WizardStep
name="Target Environment" name='Target Environment'
id="step-target-environment" id='step-target-environment'
isHidden={ isHidden={
!targetEnvironments.find( !targetEnvironments.find(
(target: string) => (target: string) =>
@ -394,9 +394,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
} }
steps={[ steps={[
<WizardStep <WizardStep
name="Amazon Web Services" name='Amazon Web Services'
id="wizard-target-aws" id='wizard-target-aws'
key="wizard-target-aws" key='wizard-target-aws'
footer={ footer={
<CustomWizardFooter <CustomWizardFooter
disableNext={ disableNext={
@ -415,9 +415,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<Aws /> <Aws />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Google Cloud Platform" name='Google Cloud Platform'
id="wizard-target-gcp" id='wizard-target-gcp'
key="wizard-target-gcp" key='wizard-target-gcp'
footer={ footer={
<CustomWizardFooter <CustomWizardFooter
disableNext={ disableNext={
@ -431,9 +431,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<Gcp /> <Gcp />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Azure" name='Azure'
id="wizard-target-azure" id='wizard-target-azure'
key="wizard-target-azure" key='wizard-target-azure'
footer={ footer={
<CustomWizardFooter <CustomWizardFooter
disableNext={ disableNext={
@ -456,13 +456,13 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
]} ]}
/> />
<WizardStep <WizardStep
name="Optional steps" name='Optional steps'
id="step-optional-steps" id='step-optional-steps'
steps={[ steps={[
<WizardStep <WizardStep
name="Register" name='Register'
id="step-register" id='step-register'
key="step-register" key='step-register'
isHidden={!!process.env.IS_ON_PREMISE || !isRhel(distribution)} isHidden={!!process.env.IS_ON_PREMISE || !isRhel(distribution)}
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={ status={
@ -483,8 +483,8 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name={complianceEnabled ? 'Compliance' : 'OpenSCAP'} name={complianceEnabled ? 'Compliance' : 'OpenSCAP'}
id="step-oscap" id='step-oscap'
key="step-oscap" key='step-oscap'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
footer={ footer={
<CustomWizardFooter disableNext={false} optional={true} /> <CustomWizardFooter disableNext={false} optional={true} />
@ -493,9 +493,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<OscapStep /> <OscapStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="File system configuration" name='File system configuration'
id="step-file-system" id='step-file-system'
key="step-file-system" key='step-file-system'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
isHidden={hasWslTargetOnly} isHidden={hasWslTargetOnly}
footer={ footer={
@ -519,9 +519,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
</FileSystemContext.Provider> </FileSystemContext.Provider>
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Repeatable build" name='Repeatable build'
id="wizard-repository-snapshot" id='wizard-repository-snapshot'
key="wizard-repository-snapshot" key='wizard-repository-snapshot'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={snapshotValidation.disabledNext ? 'error' : 'default'} status={snapshotValidation.disabledNext ? 'error' : 'default'}
isHidden={!!process.env.IS_ON_PREMISE} isHidden={!!process.env.IS_ON_PREMISE}
@ -535,9 +535,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<SnapshotStep /> <SnapshotStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Custom repositories" name='Custom repositories'
id="wizard-custom-repositories" id='wizard-custom-repositories'
key="wizard-custom-repositories" key='wizard-custom-repositories'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
isHidden={!!process.env.IS_ON_PREMISE} isHidden={!!process.env.IS_ON_PREMISE}
isDisabled={snapshotValidation.disabledNext} isDisabled={snapshotValidation.disabledNext}
@ -548,9 +548,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<RepositoriesStep /> <RepositoriesStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Additional packages" name='Additional packages'
id="wizard-additional-packages" id='wizard-additional-packages'
key="wizard-additional-packages" key='wizard-additional-packages'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
isDisabled={snapshotValidation.disabledNext} isDisabled={snapshotValidation.disabledNext}
footer={ footer={
@ -560,9 +560,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<PackagesStep /> <PackagesStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Users" name='Users'
id="wizard-users" id='wizard-users'
key="wizard-users" key='wizard-users'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={usersValidation.disabledNext ? 'error' : 'default'} status={usersValidation.disabledNext ? 'error' : 'default'}
footer={ footer={
@ -575,9 +575,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<UsersStep /> <UsersStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Timezone" name='Timezone'
id="wizard-timezone" id='wizard-timezone'
key="wizard-timezone" key='wizard-timezone'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={timezoneValidation.disabledNext ? 'error' : 'default'} status={timezoneValidation.disabledNext ? 'error' : 'default'}
footer={ footer={
@ -590,9 +590,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<TimezoneStep /> <TimezoneStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Locale" name='Locale'
id="wizard-locale" id='wizard-locale'
key="wizard-locale" key='wizard-locale'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={localeValidation.disabledNext ? 'error' : 'default'} status={localeValidation.disabledNext ? 'error' : 'default'}
footer={ footer={
@ -605,9 +605,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<LocaleStep /> <LocaleStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Hostname" name='Hostname'
id="wizard-hostname" id='wizard-hostname'
key="wizard-hostname" key='wizard-hostname'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={hostnameValidation.disabledNext ? 'error' : 'default'} status={hostnameValidation.disabledNext ? 'error' : 'default'}
footer={ footer={
@ -620,9 +620,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<HostnameStep /> <HostnameStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Kernel" name='Kernel'
id="wizard-kernel" id='wizard-kernel'
key="wizard-kernel" key='wizard-kernel'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
isHidden={hasWslTargetOnly} isHidden={hasWslTargetOnly}
status={kernelValidation.disabledNext ? 'error' : 'default'} status={kernelValidation.disabledNext ? 'error' : 'default'}
@ -636,9 +636,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<KernelStep /> <KernelStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Firewall" name='Firewall'
id="wizard-firewall" id='wizard-firewall'
key="wizard-firewall" key='wizard-firewall'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={firewallValidation.disabledNext ? 'error' : 'default'} status={firewallValidation.disabledNext ? 'error' : 'default'}
footer={ footer={
@ -651,9 +651,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<FirewallStep /> <FirewallStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="Systemd services" name='Systemd services'
id="wizard-services" id='wizard-services'
key="wizard-services" key='wizard-services'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={servicesValidation.disabledNext ? 'error' : 'default'} status={servicesValidation.disabledNext ? 'error' : 'default'}
footer={ footer={
@ -666,9 +666,9 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<ServicesStep /> <ServicesStep />
</WizardStep>, </WizardStep>,
<WizardStep <WizardStep
name="First boot script configuration" name='First boot script configuration'
id="wizard-first-boot" id='wizard-first-boot'
key="wizard-first-boot" key='wizard-first-boot'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={firstBootValidation.disabledNext ? 'error' : 'default'} status={firstBootValidation.disabledNext ? 'error' : 'default'}
isHidden={!!process.env.IS_ON_PREMISE} isHidden={!!process.env.IS_ON_PREMISE}
@ -684,8 +684,8 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
]} ]}
/> />
<WizardStep <WizardStep
name="Details" name='Details'
id="step-details" id='step-details'
navItem={CustomStatusNavItem} navItem={CustomStatusNavItem}
status={detailsValidation.disabledNext ? 'error' : 'default'} status={detailsValidation.disabledNext ? 'error' : 'default'}
footer={ footer={
@ -697,8 +697,8 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => {
<DetailsStep /> <DetailsStep />
</WizardStep> </WizardStep>
<WizardStep <WizardStep
name="Review" name='Review'
id="step-review" id='step-review'
footer={<ReviewWizardFooter />} footer={<ReviewWizardFooter />}
> >
<ReviewStep /> <ReviewStep />

View file

@ -154,21 +154,21 @@ const LabelInput = ({
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={ icon={
<Icon status="info"> <Icon status='info'>
<PlusCircleIcon /> <PlusCircleIcon />
</Icon> </Icon>
} }
variant="plain" variant='plain'
onClick={(e) => handleAddItem(e, inputValue)} onClick={(e) => handleAddItem(e, inputValue)}
isDisabled={!inputValue} isDisabled={!inputValue}
aria-label={ariaLabel} aria-label={ariaLabel}
/> />
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={handleClear} onClick={handleClear}
isDisabled={!inputValue} isDisabled={!inputValue}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
</TextInputGroup> </TextInputGroup>
@ -185,7 +185,7 @@ const LabelInput = ({
<LabelGroup <LabelGroup
categoryName={requiredCategoryName} categoryName={requiredCategoryName}
numLabels={20} numLabels={20}
className="pf-v6-u-mt-sm pf-v6-u-w-100" className='pf-v6-u-mt-sm pf-v6-u-w-100'
> >
{requiredList.map((item) => ( {requiredList.map((item) => (
<Label key={item} isCompact> <Label key={item} isCompact>
@ -194,7 +194,7 @@ const LabelInput = ({
))} ))}
</LabelGroup> </LabelGroup>
)} )}
<LabelGroup numLabels={20} className="pf-v6-u-mt-sm pf-v6-u-w-100"> <LabelGroup numLabels={20} className='pf-v6-u-mt-sm pf-v6-u-w-100'>
{list?.map((item) => ( {list?.map((item) => (
<Label <Label
key={item} key={item}

View file

@ -5,8 +5,8 @@ import { Alert } from '@patternfly/react-core';
const UsrSubDirectoriesDisabled = () => { const UsrSubDirectoriesDisabled = () => {
return ( return (
<Alert <Alert
variant="warning" variant='warning'
title="Sub-directories for the /usr mount point are no longer supported" title='Sub-directories for the /usr mount point are no longer supported'
isInline isInline
> >
Please note that including sub-directories in the /usr path is no longer Please note that including sub-directories in the /usr path is no longer

View file

@ -98,7 +98,7 @@ export const ValidatedInputAndTextArea = ({
)} )}
{warning !== undefined && warning !== '' && ( {warning !== undefined && warning !== '' && (
<HelperText> <HelperText>
<HelperTextItem variant="warning">{warning}</HelperTextItem> <HelperTextItem variant='warning'>{warning}</HelperTextItem>
</HelperText> </HelperText>
)} )}
{validated === 'error' && hasError && ( {validated === 'error' && hasError && (
@ -125,7 +125,7 @@ const getValidationState = (
export const ErrorMessage = ({ errorMessage }: ErrorMessageProps) => { export const ErrorMessage = ({ errorMessage }: ErrorMessageProps) => {
return ( return (
<HelperText> <HelperText>
<HelperTextItem variant="error">{errorMessage}</HelperTextItem> <HelperTextItem variant='error'>{errorMessage}</HelperTextItem>
</HelperText> </HelperText>
); );
}; };
@ -158,7 +158,7 @@ export const ValidatedInput = ({
<TextInput <TextInput
value={value} value={value}
data-testid={dataTestId} data-testid={dataTestId}
type="text" type='text'
onChange={onChange!} onChange={onChange!}
validated={handleValidation()} validated={handleValidation()}
aria-label={ariaLabel || ''} aria-label={ariaLabel || ''}
@ -167,7 +167,7 @@ export const ValidatedInput = ({
/> />
{!isPristine && !validator(value) && ( {!isPristine && !validator(value) && (
<HelperText> <HelperText>
<HelperTextItem variant="error">{helperText}</HelperTextItem> <HelperTextItem variant='error'>{helperText}</HelperTextItem>
</HelperText> </HelperText>
)} )}
</> </>

View file

@ -45,7 +45,7 @@ const DetailsStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Details Details
</Title> </Title>
<Content> <Content>
@ -53,15 +53,15 @@ const DetailsStep = () => {
images created from this blueprint will use the name of the parent images created from this blueprint will use the name of the parent
blueprint. blueprint.
</Content> </Content>
<FormGroup isRequired label="Blueprint name" fieldId="blueprint-name"> <FormGroup isRequired label='Blueprint name' fieldId='blueprint-name'>
<ValidatedInputAndTextArea <ValidatedInputAndTextArea
ariaLabel="blueprint name" ariaLabel='blueprint name'
dataTestId="blueprint" dataTestId='blueprint'
value={blueprintName} value={blueprintName}
onChange={handleNameChange} onChange={handleNameChange}
placeholder="Add blueprint name" placeholder='Add blueprint name'
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="name" fieldName='name'
isRequired={true} isRequired={true}
/> />
<FormHelperText> <FormHelperText>
@ -75,17 +75,17 @@ const DetailsStep = () => {
</FormGroup> </FormGroup>
<FormGroup <FormGroup
label="Blueprint description" label='Blueprint description'
fieldId="blueprint-description-name" fieldId='blueprint-description-name'
> >
<ValidatedInputAndTextArea <ValidatedInputAndTextArea
ariaLabel="blueprint description" ariaLabel='blueprint description'
dataTestId="blueprint description" dataTestId='blueprint description'
value={blueprintDescription} value={blueprintDescription}
onChange={handleDescriptionChange} onChange={handleDescriptionChange}
placeholder="Add description" placeholder='Add description'
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="description" fieldName='description'
/> />
</FormGroup> </FormGroup>
</Form> </Form>

View file

@ -16,13 +16,13 @@ const FileSystemAutomaticPartition = () => {
current supported configuration layout. current supported configuration layout.
<br></br> <br></br>
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
href={FILE_SYSTEM_CUSTOMIZATION_URL} href={FILE_SYSTEM_CUSTOMIZATION_URL}
className="pf-v6-u-pl-0" className='pf-v6-u-pl-0'
> >
Customizing file systems during the image creation Customizing file systems during the image creation
</Button> </Button>

View file

@ -72,13 +72,13 @@ const FileSystemConfiguration = () => {
order to conform to best practices and ensure functionality. order to conform to best practices and ensure functionality.
<br></br> <br></br>
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
href={FILE_SYSTEM_CUSTOMIZATION_URL} href={FILE_SYSTEM_CUSTOMIZATION_URL}
className="pf-v6-u-pl-0" className='pf-v6-u-pl-0'
> >
Read more about manual configuration here Read more about manual configuration here
</Button> </Button>
@ -87,7 +87,7 @@ const FileSystemConfiguration = () => {
{(environments.includes('image-installer') || {(environments.includes('image-installer') ||
environments.includes('wsl')) && ( environments.includes('wsl')) && (
<Alert <Alert
variant="warning" variant='warning'
isInline isInline
title={`Filesystem customizations are not applied to ${filteredTargets.join( title={`Filesystem customizations are not applied to ${filteredTargets.join(
' and ', ' and ',
@ -97,8 +97,8 @@ const FileSystemConfiguration = () => {
<FileSystemTable /> <FileSystemTable />
<Content> <Content>
<Button <Button
className="pf-v6-u-text-align-left" className='pf-v6-u-text-align-left'
variant="link" variant='link'
icon={<PlusCircleIcon />} icon={<PlusCircleIcon />}
onClick={handleAddPartition} onClick={handleAddPartition}
> >

View file

@ -23,27 +23,27 @@ const FileSystemPartition = () => {
return ( return (
<FormGroup> <FormGroup>
<Radio <Radio
id="automatic file system config radio" id='automatic file system config radio'
label={ label={
<> <>
<Label isCompact color="blue"> <Label isCompact color='blue'>
Recommended Recommended
</Label>{' '} </Label>{' '}
Use automatic partitioning Use automatic partitioning
</> </>
} }
name="sc-radio-automatic" name='sc-radio-automatic'
description="Automatically partition your image to what is best, depending on the target environment(s)" description='Automatically partition your image to what is best, depending on the target environment(s)'
isChecked={fileSystemConfigurationType === 'automatic'} isChecked={fileSystemConfigurationType === 'automatic'}
onChange={() => { onChange={() => {
dispatch(changeFileSystemConfigurationType('automatic')); dispatch(changeFileSystemConfigurationType('automatic'));
}} }}
/> />
<Radio <Radio
id="manual file system config radio" id='manual file system config radio'
label="Manually configure partitions" label='Manually configure partitions'
name="fsc-radio-manual" name='fsc-radio-manual'
description="Manually configure the file system of your image by adding, removing, and editing partitions" description='Manually configure the file system of your image by adding, removing, and editing partitions'
isChecked={fileSystemConfigurationType === 'manual'} isChecked={fileSystemConfigurationType === 'manual'}
onChange={() => { onChange={() => {
dispatch(changeFileSystemConfigurationType('manual')); dispatch(changeFileSystemConfigurationType('manual'));

View file

@ -43,7 +43,7 @@ export const FileSystemContext = React.createContext<boolean>(true);
export const MinimumSizePopover = () => { export const MinimumSizePopover = () => {
return ( return (
<Popover <Popover
maxWidth="30rem" maxWidth='30rem'
bodyContent={ bodyContent={
<Content> <Content>
<Content> <Content>
@ -55,10 +55,10 @@ export const MinimumSizePopover = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
aria-label="File system configuration info" aria-label='File system configuration info'
aria-describedby="file-system-configuration-info" aria-describedby='file-system-configuration-info'
className="popover-button pf-v6-u-p-0" className='popover-button pf-v6-u-p-0'
/> />
</Popover> </Popover>
); );
@ -112,11 +112,11 @@ const Row = ({ partition, onDragEnd, onDragStart, onDrop }: RowPropTypes) => {
id: `draggable-row-${partition.id}`, id: `draggable-row-${partition.id}`,
}} }}
/> />
<Td className="pf-m-width-20"> <Td className='pf-m-width-20'>
<MountpointPrefix partition={partition} /> <MountpointPrefix partition={partition} />
{!isPristine && stepValidation.errors[`mountpoint-${partition.id}`] && ( {!isPristine && stepValidation.errors[`mountpoint-${partition.id}`] && (
<Alert <Alert
variant="danger" variant='danger'
isInline isInline
isPlain isPlain
title={stepValidation.errors[`mountpoint-${partition.id}`]} title={stepValidation.errors[`mountpoint-${partition.id}`]}
@ -142,7 +142,7 @@ const Row = ({ partition, onDragEnd, onDragStart, onDrop }: RowPropTypes) => {
</Td> </Td>
<Td width={10}> <Td width={10}>
<Button <Button
variant="link" variant='link'
icon={<MinusCircleIcon />} icon={<MinusCircleIcon />}
onClick={() => handleRemovePartition(partition.id)} onClick={() => handleRemovePartition(partition.id)}
isDisabled={partition.mountpoint === '/'} isDisabled={partition.mountpoint === '/'}
@ -234,7 +234,7 @@ const MountpointSuffix = ({ partition }: MountpointSuffixPropTypes) => {
return ( return (
<TextInput <TextInput
value={suffix} value={suffix}
type="text" type='text'
onChange={(event: React.FormEvent, newValue) => { onChange={(event: React.FormEvent, newValue) => {
const mountpoint = prefix + normalizeSuffix(newValue); const mountpoint = prefix + normalizeSuffix(newValue);
dispatch( dispatch(
@ -244,7 +244,7 @@ const MountpointSuffix = ({ partition }: MountpointSuffixPropTypes) => {
}), }),
); );
}} }}
aria-label="mountpoint suffix" aria-label='mountpoint suffix'
/> />
); );
}; };
@ -274,7 +274,7 @@ const MinimumSize = ({ partition }: MinimumSizePropTypes) => {
return ( return (
<ValidatedInputAndTextArea <ValidatedInputAndTextArea
ariaLabel="minimum partition size" ariaLabel='minimum partition size'
value={partition.min_size} value={partition.min_size}
isDisabled={partition.unit === 'B'} isDisabled={partition.unit === 'B'}
warning={ warning={
@ -282,10 +282,10 @@ const MinimumSize = ({ partition }: MinimumSizePropTypes) => {
? 'The Wizard only supports KiB, MiB, or GiB. Adjust or keep the current value.' ? 'The Wizard only supports KiB, MiB, or GiB. Adjust or keep the current value.'
: '' : ''
} }
type="text" type='text'
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName={`min-size-${partition.id}`} fieldName={`min-size-${partition.id}`}
placeholder="File system" placeholder='File system'
onChange={(event, minSize) => { onChange={(event, minSize) => {
if (minSize === '' || /^\d+$/.test(minSize)) { if (minSize === '' || /^\d+$/.test(minSize)) {
dispatch( dispatch(
@ -497,20 +497,20 @@ const FileSystemTable = () => {
return ( return (
<Table <Table
className={isDragging ? styles.modifiers.dragOver : ''} className={isDragging ? styles.modifiers.dragOver : ''}
aria-label="File system table" aria-label='File system table'
variant="compact" variant='compact'
> >
<Thead> <Thead>
<Tr> <Tr>
<Th aria-label="Drag mount point" /> <Th aria-label='Drag mount point' />
<Th>Mount point</Th> <Th>Mount point</Th>
<Th aria-label="Suffix">Suffix</Th> <Th aria-label='Suffix'>Suffix</Th>
<Th>Type</Th> <Th>Type</Th>
<Th> <Th>
Minimum size <MinimumSizePopover /> Minimum size <MinimumSizePopover />
</Th> </Th>
<Th aria-label="Unit">Unit</Th> <Th aria-label='Unit'>Unit</Th>
<Th aria-label="Remove mount point" /> <Th aria-label='Remove mount point' />
</Tr> </Tr>
</Thead> </Thead>

View file

@ -20,7 +20,7 @@ const FileSystemStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
File system configuration File system configuration
</Title> </Title>
<Content>Define the partitioning of the image.</Content> <Content>Define the partitioning of the image.</Content>

View file

@ -18,17 +18,17 @@ const PortsInput = () => {
const stepValidation = useFirewallValidation(); const stepValidation = useFirewallValidation();
return ( return (
<FormGroup label="Ports"> <FormGroup label='Ports'>
<LabelInput <LabelInput
ariaLabel="Add ports" ariaLabel='Add ports'
placeholder="Add ports" placeholder='Add ports'
validator={isPortValid} validator={isPortValid}
list={ports} list={ports}
item="Port" item='Port'
addAction={addPort} addAction={addPort}
removeAction={removePort} removeAction={removePort}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="ports" fieldName='ports'
/> />
</FormGroup> </FormGroup>
); );

View file

@ -22,30 +22,30 @@ const Services = () => {
return ( return (
<> <>
<FormGroup label="Enabled services"> <FormGroup label='Enabled services'>
<LabelInput <LabelInput
ariaLabel="Add enabled service" ariaLabel='Add enabled service'
placeholder="Add enabled service" placeholder='Add enabled service'
validator={isServiceValid} validator={isServiceValid}
list={enabledServices} list={enabledServices}
item="Enabled service" item='Enabled service'
addAction={addEnabledFirewallService} addAction={addEnabledFirewallService}
removeAction={removeEnabledFirewallService} removeAction={removeEnabledFirewallService}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="enabledServices" fieldName='enabledServices'
/> />
</FormGroup> </FormGroup>
<FormGroup label="Disabled services"> <FormGroup label='Disabled services'>
<LabelInput <LabelInput
ariaLabel="Add disabled service" ariaLabel='Add disabled service'
placeholder="Add disabled service" placeholder='Add disabled service'
validator={isServiceValid} validator={isServiceValid}
list={disabledServices} list={disabledServices}
item="Disabled service" item='Disabled service'
addAction={addDisabledFirewallService} addAction={addDisabledFirewallService}
removeAction={removeDisabledFirewallService} removeAction={removeDisabledFirewallService}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="disabledServices" fieldName='disabledServices'
/> />
</FormGroup> </FormGroup>
</> </>

View file

@ -8,7 +8,7 @@ import Services from './components/Services';
const FirewallStep = () => { const FirewallStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Firewall Firewall
</Title> </Title>
<Content>Customize firewall settings for your image.</Content> <Content>Customize firewall settings for your image.</Content>

View file

@ -53,7 +53,7 @@ const FirstBootStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
First boot configuration First boot configuration
</Title> </Title>
<Content> <Content>
@ -61,10 +61,10 @@ const FirstBootStep = () => {
boot. boot.
</Content> </Content>
<Alert <Alert
variant="warning" variant='warning'
isExpandable isExpandable
isInline isInline
title="Important: please do not include sensitive information" title='Important: please do not include sensitive information'
> >
<Content> <Content>
Please ensure that your script does not contain any secrets, Please ensure that your script does not contain any secrets,
@ -90,14 +90,14 @@ const FirstBootStep = () => {
dispatch(setFirstBootScript(code.replace('\r\n', '\n'))); dispatch(setFirstBootScript(code.replace('\r\n', '\n')));
}} }}
code={selectedScript} code={selectedScript}
height="35vh" height='35vh'
emptyStateButton="Browse" emptyStateButton='Browse'
emptyStateLink="Start from scratch" emptyStateLink='Start from scratch'
/> />
{errors.script && ( {errors.script && (
<FormHelperText> <FormHelperText>
<HelperText> <HelperText>
<HelperTextItem variant="error">{errors.script}</HelperTextItem> <HelperTextItem variant='error'>{errors.script}</HelperTextItem>
</HelperText> </HelperText>
</FormHelperText> </FormHelperText>
)} )}

View file

@ -21,14 +21,14 @@ const HostnameInput = () => {
}; };
return ( return (
<FormGroup label="Hostname"> <FormGroup label='Hostname'>
<ValidatedInputAndTextArea <ValidatedInputAndTextArea
ariaLabel="hostname input" ariaLabel='hostname input'
value={hostname} value={hostname}
onChange={handleChange} onChange={handleChange}
placeholder="Add a hostname" placeholder='Add a hostname'
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="hostname" fieldName='hostname'
/> />
</FormGroup> </FormGroup>
); );

View file

@ -7,7 +7,7 @@ import HostnameInput from './components/HostnameInput';
const HostnameStep = () => { const HostnameStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Hostname Hostname
</Title> </Title>
<Content>Select a hostname for your image.</Content> <Content>Select a hostname for your image.</Content>

View file

@ -60,14 +60,14 @@ const ArchSelect = () => {
ref={toggleRef} ref={toggleRef}
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
data-testid="arch_select" data-testid='arch_select'
> >
{arch} {arch}
</MenuToggle> </MenuToggle>
); );
return ( return (
<FormGroup isRequired={true} label="Architecture"> <FormGroup isRequired={true} label='Architecture'>
<Select <Select
isOpen={isOpen} isOpen={isOpen}
selected={arch} selected={arch}

View file

@ -8,11 +8,11 @@ import { DEVELOPERS_URL } from '../../../../../constants';
const DeveloperProgramButton = () => { const DeveloperProgramButton = () => {
return ( return (
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={DEVELOPERS_URL} href={DEVELOPERS_URL}
> >
@ -24,7 +24,7 @@ const DeveloperProgramButton = () => {
const CentOSAcknowledgement = () => { const CentOSAcknowledgement = () => {
return ( return (
<Alert <Alert
variant="info" variant='info'
isPlain isPlain
isInline isInline
title={ title={

View file

@ -117,7 +117,7 @@ export const chartMajorVersionCfg = {
export const MajorReleasesLifecyclesChart = () => { export const MajorReleasesLifecyclesChart = () => {
return ( return (
<Panel> <Panel>
<PanelMain maxHeight="10rem"> <PanelMain maxHeight='10rem'>
<Bar <Bar
options={chartMajorVersionCfg.options} options={chartMajorVersionCfg.options}
data={chartMajorVersionCfg.data} data={chartMajorVersionCfg.data}
@ -147,16 +147,16 @@ const ReleaseLifecycle = () => {
isExpanded={isExpanded} isExpanded={isExpanded}
isIndented isIndented
> >
<FormGroup label="Release lifecycle"> <FormGroup label='Release lifecycle'>
<MajorReleasesLifecyclesChart /> <MajorReleasesLifecyclesChart />
</FormGroup> </FormGroup>
<br /> <br />
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={RELEASE_LIFECYCLE_URL} href={RELEASE_LIFECYCLE_URL}
> >

View file

@ -127,7 +127,7 @@ const ReleaseSelect = () => {
ref={toggleRef} ref={toggleRef}
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
data-testid="release_select" data-testid='release_select'
style={ style={
{ {
maxWidth: '100%', maxWidth: '100%',
@ -139,7 +139,7 @@ const ReleaseSelect = () => {
); );
return ( return (
<FormGroup isRequired={true} label="Release"> <FormGroup isRequired={true} label='Release'>
<Select <Select
isOpen={isOpen} isOpen={isOpen}
onOpenChange={(isOpen) => setIsOpen(isOpen)} onOpenChange={(isOpen) => setIsOpen(isOpen)}
@ -160,7 +160,7 @@ const ReleaseSelect = () => {
ev.stopPropagation(); ev.stopPropagation();
handleExpand(); handleExpand();
}} }}
value="loader" value='loader'
isLoadButton isLoadButton
> >
Show options for further development of RHEL Show options for further development of RHEL

View file

@ -76,11 +76,11 @@ const TargetEnvironmentCard = ({
// the logos don't display in cockpit, // the logos don't display in cockpit,
// so we can just hide them // so we can just hide them
<FlexItem> <FlexItem>
<img className="provider-icon" src={imageSrc} alt={imageAlt} /> <img className='provider-icon' src={imageSrc} alt={imageAlt} />
</FlexItem> </FlexItem>
)} )}
<FlexItem> <FlexItem>
<Title headingLevel="h5" size="md"> <Title headingLevel='h5' size='md'>
{title} {title}
</Title> </Title>
</FlexItem> </FlexItem>
@ -144,8 +144,8 @@ const TargetEnvironment = () => {
if (isFetching) { if (isFetching) {
return ( return (
<EmptyState <EmptyState
titleText="Loading target environments" titleText='Loading target environments'
headingLevel="h6" headingLevel='h6'
icon={Spinner} icon={Spinner}
/> />
); );
@ -155,7 +155,7 @@ const TargetEnvironment = () => {
return ( return (
<Alert <Alert
title="Couldn't fetch target environments" title="Couldn't fetch target environments"
variant="danger" variant='danger'
isInline isInline
> >
Target environments couldn&apos;t be loaded, please refresh the page or Target environments couldn&apos;t be loaded, please refresh the page or
@ -167,17 +167,17 @@ const TargetEnvironment = () => {
return ( return (
<FormGroup <FormGroup
isRequired={true} isRequired={true}
label="Select target environments" label='Select target environments'
data-testid="target-select" data-testid='target-select'
> >
{publicCloudsSupported() && ( {publicCloudsSupported() && (
<FormGroup label={<small>Public cloud</small>}> <FormGroup label={<small>Public cloud</small>}>
<Gallery hasGutter> <Gallery hasGutter>
{supportedEnvironments?.includes('aws') && ( {supportedEnvironments?.includes('aws') && (
<TargetEnvironmentCard <TargetEnvironmentCard
title="Amazon Web Services" title='Amazon Web Services'
imageSrc={'/apps/frontend-assets/partners-icons/aws.svg'} imageSrc={'/apps/frontend-assets/partners-icons/aws.svg'}
imageAlt="Amazon Web Services logo" imageAlt='Amazon Web Services logo'
handleOnClick={() => handleToggleEnvironment('aws')} handleOnClick={() => handleToggleEnvironment('aws')}
onMouseEnter={() => prefetchSources({ provider: 'aws' })} onMouseEnter={() => prefetchSources({ provider: 'aws' })}
isClicked={environments.includes('aws')} isClicked={environments.includes('aws')}
@ -185,11 +185,11 @@ const TargetEnvironment = () => {
)} )}
{supportedEnvironments?.includes('gcp') && ( {supportedEnvironments?.includes('gcp') && (
<TargetEnvironmentCard <TargetEnvironmentCard
title="Google Cloud Platform" title='Google Cloud Platform'
imageSrc={ imageSrc={
'/apps/frontend-assets/partners-icons/google-cloud-short.svg' '/apps/frontend-assets/partners-icons/google-cloud-short.svg'
} }
imageAlt="Google Cloud Platform logo" imageAlt='Google Cloud Platform logo'
handleOnClick={() => handleToggleEnvironment('gcp')} handleOnClick={() => handleToggleEnvironment('gcp')}
onMouseEnter={() => prefetchSources({ provider: 'gcp' })} onMouseEnter={() => prefetchSources({ provider: 'gcp' })}
isClicked={environments.includes('gcp')} isClicked={environments.includes('gcp')}
@ -197,11 +197,11 @@ const TargetEnvironment = () => {
)} )}
{supportedEnvironments?.includes('azure') && ( {supportedEnvironments?.includes('azure') && (
<TargetEnvironmentCard <TargetEnvironmentCard
title="Microsoft Azure" title='Microsoft Azure'
imageSrc={ imageSrc={
'/apps/frontend-assets/partners-icons/microsoft-azure-short.svg' '/apps/frontend-assets/partners-icons/microsoft-azure-short.svg'
} }
imageAlt="Microsoft Azure logo" imageAlt='Microsoft Azure logo'
handleOnClick={() => handleToggleEnvironment('azure')} handleOnClick={() => handleToggleEnvironment('azure')}
onMouseEnter={() => prefetchSources({ provider: 'azure' })} onMouseEnter={() => prefetchSources({ provider: 'azure' })}
isClicked={environments.includes('azure')} isClicked={environments.includes('azure')}
@ -209,11 +209,11 @@ const TargetEnvironment = () => {
)} )}
{supportedEnvironments?.includes('oci') && ( {supportedEnvironments?.includes('oci') && (
<TargetEnvironmentCard <TargetEnvironmentCard
title="Oracle Cloud Infrastructure" title='Oracle Cloud Infrastructure'
imageSrc={ imageSrc={
'/apps/frontend-assets/partners-icons/oracle-short.svg' '/apps/frontend-assets/partners-icons/oracle-short.svg'
} }
imageAlt="Oracle Cloud Infrastructure logo" imageAlt='Oracle Cloud Infrastructure logo'
handleOnClick={() => handleToggleEnvironment('oci')} handleOnClick={() => handleToggleEnvironment('oci')}
isClicked={environments.includes('oci')} isClicked={environments.includes('oci')}
/> />
@ -225,19 +225,19 @@ const TargetEnvironment = () => {
supportedEnvironments?.includes('vsphere-ova')) && ( supportedEnvironments?.includes('vsphere-ova')) && (
<FormGroup <FormGroup
label={<small>Private cloud</small>} label={<small>Private cloud</small>}
className="pf-v6-u-mt-sm" className='pf-v6-u-mt-sm'
> >
{supportedEnvironments.includes('vsphere-ova') && ( {supportedEnvironments.includes('vsphere-ova') && (
<Checkbox <Checkbox
name="vsphere-checkbox-ova" name='vsphere-checkbox-ova'
aria-label="VMware vSphere checkbox OVA" aria-label='VMware vSphere checkbox OVA'
id="vsphere-checkbox-ova" id='vsphere-checkbox-ova'
label={ label={
<> <>
VMware vSphere - Open virtualization format (.ova) VMware vSphere - Open virtualization format (.ova)
<Popover <Popover
maxWidth="30rem" maxWidth='30rem'
position="right" position='right'
bodyContent={ bodyContent={
<Content> <Content>
<Content> <Content>
@ -252,9 +252,9 @@ const TargetEnvironment = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
className="pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0'
variant="plain" variant='plain'
aria-label="About OVA file" aria-label='About OVA file'
isInline isInline
/> />
</Popover> </Popover>
@ -268,16 +268,16 @@ const TargetEnvironment = () => {
)} )}
{supportedEnvironments.includes('vsphere') && ( {supportedEnvironments.includes('vsphere') && (
<Checkbox <Checkbox
className="pf-v6-u-mt-sm" className='pf-v6-u-mt-sm'
name="vsphere-checkbox-vmdk" name='vsphere-checkbox-vmdk'
aria-label="VMware vSphere checkbox VMDK" aria-label='VMware vSphere checkbox VMDK'
id="vsphere-checkbox-vmdk" id='vsphere-checkbox-vmdk'
label={ label={
<> <>
VMware vSphere - Virtual disk (.vmdk) VMware vSphere - Virtual disk (.vmdk)
<Popover <Popover
maxWidth="30rem" maxWidth='30rem'
position="right" position='right'
bodyContent={ bodyContent={
<Content> <Content>
<Content> <Content>
@ -291,9 +291,9 @@ const TargetEnvironment = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
className="pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0'
variant="plain" variant='plain'
aria-label="About VMDK file" aria-label='About VMDK file'
isInline isInline
/> />
</Popover> </Popover>
@ -310,26 +310,26 @@ const TargetEnvironment = () => {
<FormGroup label={<small>Other</small>}> <FormGroup label={<small>Other</small>}>
{supportedEnvironments?.includes('guest-image') && ( {supportedEnvironments?.includes('guest-image') && (
<Checkbox <Checkbox
label="Virtualization - Guest image (.qcow2)" label='Virtualization - Guest image (.qcow2)'
isChecked={environments.includes('guest-image')} isChecked={environments.includes('guest-image')}
onChange={() => { onChange={() => {
handleToggleEnvironment('guest-image'); handleToggleEnvironment('guest-image');
}} }}
aria-label="Virtualization guest image checkbox" aria-label='Virtualization guest image checkbox'
id="checkbox-guest-image" id='checkbox-guest-image'
name="Virtualization guest image" name='Virtualization guest image'
/> />
)} )}
{supportedEnvironments?.includes('image-installer') && ( {supportedEnvironments?.includes('image-installer') && (
<Checkbox <Checkbox
label="Bare metal - Installer (.iso)" label='Bare metal - Installer (.iso)'
isChecked={environments.includes('image-installer')} isChecked={environments.includes('image-installer')}
onChange={() => { onChange={() => {
handleToggleEnvironment('image-installer'); handleToggleEnvironment('image-installer');
}} }}
aria-label="Bare metal installer checkbox" aria-label='Bare metal installer checkbox'
id="checkbox-image-installer" id='checkbox-image-installer'
name="Bare metal installer" name='Bare metal installer'
/> />
)} )}
{supportedEnvironments?.includes('wsl') && ( {supportedEnvironments?.includes('wsl') && (
@ -338,8 +338,8 @@ const TargetEnvironment = () => {
<> <>
WSL - Windows Subsystem for Linux (.wsl) WSL - Windows Subsystem for Linux (.wsl)
<Popover <Popover
maxWidth="30rem" maxWidth='30rem'
position="right" position='right'
headerContent={ headerContent={
<Content> <Content>
<Content> <Content>
@ -360,13 +360,13 @@ const TargetEnvironment = () => {
} }
footerContent={ footerContent={
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href="https://access.redhat.com/articles/7115538" href='https://access.redhat.com/articles/7115538'
> >
Learn more about Red Hat&apos;s WSL support Learn more about Red Hat&apos;s WSL support
</Button> </Button>
@ -374,9 +374,9 @@ const TargetEnvironment = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
className="pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0'
variant="plain" variant='plain'
aria-label="About WSL file" aria-label='About WSL file'
isInline isInline
/> />
</Popover> </Popover>
@ -386,9 +386,9 @@ const TargetEnvironment = () => {
onChange={() => { onChange={() => {
handleToggleEnvironment('wsl'); handleToggleEnvironment('wsl');
}} }}
aria-label="windows subsystem for linux checkbox" aria-label='windows subsystem for linux checkbox'
id="checkbox-wsl" id='checkbox-wsl'
name="WSL" name='WSL'
/> />
)} )}
</FormGroup> </FormGroup>

View file

@ -35,7 +35,7 @@ const ImageOutputStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Image output Image output
</Title> </Title>
<Content> <Content>

View file

@ -39,19 +39,19 @@ const KernelArguments = () => {
); );
return ( return (
<FormGroup isRequired={false} label="Append"> <FormGroup isRequired={false} label='Append'>
<LabelInput <LabelInput
ariaLabel="Add kernel argument" ariaLabel='Add kernel argument'
placeholder="Add kernel argument" placeholder='Add kernel argument'
validator={isKernelArgumentValid} validator={isKernelArgumentValid}
list={kernelAppend.filter((arg) => !requiredByOpenSCAP.includes(arg))} list={kernelAppend.filter((arg) => !requiredByOpenSCAP.includes(arg))}
requiredList={requiredByOpenSCAP} requiredList={requiredByOpenSCAP}
requiredCategoryName="Required by OpenSCAP" requiredCategoryName='Required by OpenSCAP'
item="Kernel argument" item='Kernel argument'
addAction={addKernelArg} addAction={addKernelArg}
removeAction={removeKernelArg} removeAction={removeKernelArg}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="kernelAppend" fieldName='kernelAppend'
/> />
</FormGroup> </FormGroup>
); );

View file

@ -113,7 +113,7 @@ const KernelName = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
> >
@ -122,8 +122,8 @@ const KernelName = () => {
value={kernel ? kernel : inputValue} value={kernel ? kernel : inputValue}
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select kernel package" placeholder='Select kernel package'
isExpanded={isOpen} isExpanded={isOpen}
/> />
@ -131,9 +131,9 @@ const KernelName = () => {
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={onClearButtonClick} onClick={onClearButtonClick}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -145,12 +145,12 @@ const KernelName = () => {
<> <>
{kernel && !initialOptions.includes(kernel) && ( {kernel && !initialOptions.includes(kernel) && (
<Alert <Alert
title="Custom kernel packages cannot be validated and can cause build issues." title='Custom kernel packages cannot be validated and can cause build issues.'
isInline isInline
variant="warning" variant='warning'
/> />
)} )}
<FormGroup isRequired={false} label="Name"> <FormGroup isRequired={false} label='Name'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}

View file

@ -13,15 +13,15 @@ const KernelStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Kernel Kernel
</Title> </Title>
<Content>Customize kernel name and kernel arguments.</Content> <Content>Customize kernel name and kernel arguments.</Content>
{environments.includes('wsl') && ( {environments.includes('wsl') && (
<Alert <Alert
variant="warning" variant='warning'
isInline isInline
title="Kernel customizations are not applied to Windows Subsystem for Linux images" title='Kernel customizations are not applied to Windows Subsystem for Linux images'
/> />
)} )}
<KernelName /> <KernelName />

View file

@ -98,7 +98,7 @@ const KeyboardDropDown = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
> >
@ -107,8 +107,8 @@ const KeyboardDropDown = () => {
value={keyboard ? keyboard : inputValue} value={keyboard ? keyboard : inputValue}
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select a keyboard" placeholder='Select a keyboard'
isExpanded={isOpen} isExpanded={isOpen}
/> />
@ -116,9 +116,9 @@ const KeyboardDropDown = () => {
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={onClearButtonClick} onClick={onClearButtonClick}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -127,7 +127,7 @@ const KeyboardDropDown = () => {
); );
return ( return (
<FormGroup isRequired={false} label="Keyboard"> <FormGroup isRequired={false} label='Keyboard'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}

View file

@ -130,7 +130,7 @@ const LanguagesDropDown = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
> >
@ -139,17 +139,17 @@ const LanguagesDropDown = () => {
value={inputValue} value={inputValue}
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select a language" placeholder='Select a language'
isExpanded={isOpen} isExpanded={isOpen}
/> />
{inputValue && ( {inputValue && (
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={onClearButtonClick} onClick={onClearButtonClick}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -158,7 +158,7 @@ const LanguagesDropDown = () => {
); );
return ( return (
<FormGroup isRequired={false} label="Languages"> <FormGroup isRequired={false} label='Languages'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}
@ -198,7 +198,7 @@ const LanguagesDropDown = () => {
)}`}</HelperTextItem> )}`}</HelperTextItem>
</HelperText> </HelperText>
)} )}
<LabelGroup numLabels={5} className="pf-v6-u-mt-sm pf-v6-u-w-100"> <LabelGroup numLabels={5} className='pf-v6-u-mt-sm pf-v6-u-w-100'>
{languages?.map((lang) => ( {languages?.map((lang) => (
<Label <Label
key={lang} key={lang}

View file

@ -8,7 +8,7 @@ import LanguagesDropDown from './components/LanguagesDropDown';
const LocaleStep = () => { const LocaleStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Locale Locale
</Title> </Title>
<Content>Select the locale for your image.</Content> <Content>Select the locale for your image.</Content>

View file

@ -24,7 +24,7 @@ const Oscap = ({ majorVersion }: OscapPropTypes) => {
if (majorVersion === '10' && complianceType === 'openscap') { if (majorVersion === '10' && complianceType === 'openscap') {
return ( return (
<Alert title="OpenSCAP Security Profiles for RHEL 10 Not Yet Available"> <Alert title='OpenSCAP Security Profiles for RHEL 10 Not Yet Available'>
OpenSCAP security profiles arent available for RHEL 10 in Image Builder OpenSCAP security profiles arent available for RHEL 10 in Image Builder
yet. Support is on the waycheck back soon for updates. yet. Support is on the waycheck back soon for updates.
</Alert> </Alert>
@ -35,9 +35,9 @@ const Oscap = ({ majorVersion }: OscapPropTypes) => {
<> <>
{environments.includes('wsl') && ( {environments.includes('wsl') && (
<Alert <Alert
variant="warning" variant='warning'
isInline isInline
title="OpenSCAP profiles are not compatible with WSL images." title='OpenSCAP profiles are not compatible with WSL images.'
/> />
)} )}
{complianceType === 'openscap' ? <ProfileSelector /> : <PolicySelector />} {complianceType === 'openscap' ? <ProfileSelector /> : <PolicySelector />}

View file

@ -5,11 +5,11 @@ import { Form, FormGroup, Spinner, Title } from '@patternfly/react-core';
const OscapOnPremSpinner = () => { const OscapOnPremSpinner = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
OpenSCAP profile OpenSCAP profile
</Title> </Title>
<FormGroup> <FormGroup>
<Spinner size="xl" /> <Spinner size='xl' />
</FormGroup> </FormGroup>
</Form> </Form>
); );

View file

@ -13,7 +13,7 @@ import {
const OscapOnPremWarning = () => { const OscapOnPremWarning = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
OpenSCAP profile OpenSCAP profile
</Title> </Title>
<FormGroup> <FormGroup>
@ -23,17 +23,17 @@ const OscapOnPremWarning = () => {
'0 var(--pf-v6-c-toolbar__content--PaddingRight) 0 var(--pf-v6-c-toolbar__content--PaddingLeft)', '0 var(--pf-v6-c-toolbar__content--PaddingRight) 0 var(--pf-v6-c-toolbar__content--PaddingLeft)',
}} }}
isInline isInline
variant="warning" variant='warning'
title="The packages required to apply security profiles by using OpenSCAP are missing on this host. Install them with the following command" title='The packages required to apply security profiles by using OpenSCAP are missing on this host. Install them with the following command'
/> />
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<CodeBlock> <CodeBlock>
<CodeBlockCode> <CodeBlockCode>
<ClipboardCopy <ClipboardCopy
hoverTip="Copy" hoverTip='Copy'
clickTip="Copied" clickTip='Copied'
variant="inline-compact" variant='inline-compact'
> >
sudo dnf install openscap-scanner scap-security-guide sudo dnf install openscap-scanner scap-security-guide
</ClipboardCopy> </ClipboardCopy>

View file

@ -79,14 +79,14 @@ export const OscapProfileInformation = ({
return ( return (
<> <>
{(isFetchingOscapProfileInfo || isFetchingPolicyInfo) && ( {(isFetchingOscapProfileInfo || isFetchingPolicyInfo) && (
<Spinner size="lg" /> <Spinner size='lg' />
)} )}
{isSuccessOscapProfileInfo && ( {isSuccessOscapProfileInfo && (
<> <>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Profile description Profile description
</Content> </Content>
@ -95,19 +95,19 @@ export const OscapProfileInformation = ({
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Reference ID Reference ID
</Content> </Content>
<Content <Content
data-testid="oscap-profile-info-ref-id" data-testid='oscap-profile-info-ref-id'
component={ContentVariants.dd} component={ContentVariants.dd}
> >
{oscapProfile?.profile_id} {oscapProfile?.profile_id}
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Packages Packages
</Content> </Content>
@ -120,7 +120,7 @@ export const OscapProfileInformation = ({
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v5-u-min-width" className='pf-v5-u-min-width'
> >
Kernel arguments Kernel arguments
</Content> </Content>
@ -133,7 +133,7 @@ export const OscapProfileInformation = ({
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v5-u-min-width" className='pf-v5-u-min-width'
> >
Enabled services Enabled services
</Content> </Content>
@ -146,7 +146,7 @@ export const OscapProfileInformation = ({
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v5-u-min-width" className='pf-v5-u-min-width'
> >
Disabled services Disabled services
</Content> </Content>
@ -165,10 +165,10 @@ export const OscapProfileInformation = ({
{isSuccessPolicyInfo && ( {isSuccessPolicyInfo && (
<> <>
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Policy description: Policy description:
</Content> </Content>
@ -177,7 +177,7 @@ export const OscapProfileInformation = ({
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Business objective: Business objective:
</Content> </Content>
@ -186,7 +186,7 @@ export const OscapProfileInformation = ({
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Policy type: Policy type:
</Content> </Content>
@ -195,7 +195,7 @@ export const OscapProfileInformation = ({
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Reference ID: Reference ID:
</Content> </Content>

View file

@ -198,7 +198,7 @@ const PolicySelector = () => {
const res = [ const res = [
<SelectOption <SelectOption
key="compliance-none-option" key='compliance-none-option'
value={{ toString: () => 'None', compareTo: () => false }} value={{ toString: () => 'None', compareTo: () => false }}
> >
None None
@ -216,7 +216,7 @@ const PolicySelector = () => {
const toggleCompliance = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggleCompliance = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ouiaId="compliancePolicySelect" ouiaId='compliancePolicySelect'
ref={toggleRef} ref={toggleRef}
onClick={() => setIsOpen(!isOpen)} onClick={() => setIsOpen(!isOpen)}
isExpanded={isOpen} isExpanded={isOpen}
@ -232,7 +232,7 @@ const PolicySelector = () => {
); );
return ( return (
<FormGroup label="Policy"> <FormGroup label='Policy'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}

View file

@ -279,9 +279,9 @@ const ProfileSelector = () => {
const toggleOpenSCAP = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggleOpenSCAP = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
data-testid="profileSelect" data-testid='profileSelect'
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={() => setIsOpen(!isOpen)} onClick={() => setIsOpen(!isOpen)}
isExpanded={isOpen} isExpanded={isOpen}
isDisabled={!isSuccess || hasWslTargetOnly} isDisabled={!isSuccess || hasWslTargetOnly}
@ -297,8 +297,8 @@ const ProfileSelector = () => {
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
onKeyDown={onKeyDown} onKeyDown={onKeyDown}
autoComplete="off" autoComplete='off'
placeholder="None" placeholder='None'
isExpanded={isOpen} isExpanded={isOpen}
/> />
@ -306,9 +306,9 @@ const ProfileSelector = () => {
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={handleClear} onClick={handleClear}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -317,7 +317,7 @@ const ProfileSelector = () => {
); );
return ( return (
<FormGroup label="Profile"> <FormGroup label='Profile'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}
@ -332,14 +332,14 @@ const ProfileSelector = () => {
> >
<SelectList> <SelectList>
{isFetching && ( {isFetching && (
<SelectOption value="loader"> <SelectOption value='loader'>
<Spinner size="lg" /> <Spinner size='lg' />
</SelectOption> </SelectOption>
)} )}
{selectOptions.length > 0 && {selectOptions.length > 0 &&
[ [
<SelectOption <SelectOption
key="oscap-none-option" key='oscap-none-option'
value={{ toString: () => 'None', compareTo: () => false }} value={{ toString: () => 'None', compareTo: () => false }}
> >
None None
@ -367,8 +367,8 @@ const ProfileSelector = () => {
</Select> </Select>
{isError && ( {isError && (
<Alert <Alert
title="Error fetching the profiles" title='Error fetching the profiles'
variant="danger" variant='danger'
isPlain isPlain
isInline isInline
> >

View file

@ -107,7 +107,7 @@ const OscapContent = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
{complianceEnabled ? 'Compliance' : 'OpenSCAP profile'} {complianceEnabled ? 'Compliance' : 'OpenSCAP profile'}
</Title> </Title>
<Content> <Content>
@ -118,16 +118,16 @@ const OscapContent = () => {
registered RHEL systems to a selected policy or profile. registered RHEL systems to a selected policy or profile.
</Content> </Content>
{complianceEnabled && ( {complianceEnabled && (
<ToggleGroup aria-label="Default with single selectable"> <ToggleGroup aria-label='Default with single selectable'>
<ToggleGroupItem <ToggleGroupItem
text="Compliance policies" text='Compliance policies'
buttonId="toggle-group-compliance" buttonId='toggle-group-compliance'
isSelected={complianceType === 'compliance'} isSelected={complianceType === 'compliance'}
onChange={() => handleTypeChange('compliance')} onChange={() => handleTypeChange('compliance')}
/> />
<ToggleGroupItem <ToggleGroupItem
text="OpenSCAP profiles" text='OpenSCAP profiles'
buttonId="toggle-group-openscap" buttonId='toggle-group-openscap'
isSelected={complianceType === 'openscap'} isSelected={complianceType === 'openscap'}
onChange={() => handleTypeChange('openscap')} onChange={() => handleTypeChange('openscap')}
/> />
@ -136,7 +136,7 @@ const OscapContent = () => {
{Array.isArray(policies?.data) && {Array.isArray(policies?.data) &&
policies.data.length === 0 && policies.data.length === 0 &&
complianceType === 'compliance' && ( complianceType === 'compliance' && (
<Alert variant="info" isInline title="No compliance policies created"> <Alert variant='info' isInline title='No compliance policies created'>
<p> <p>
Currently there are no compliance policies in your environment. To Currently there are no compliance policies in your environment. To
help you get started, select one of the default policies below and help you get started, select one of the default policies below and
@ -144,7 +144,7 @@ const OscapContent = () => {
policy or to create a new one, you must go through Insights policy or to create a new one, you must go through Insights
Compliance. Compliance.
</p> </p>
<AlertActionLink component="a" href={COMPLIANCE_URL}> <AlertActionLink component='a' href={COMPLIANCE_URL}>
Save blueprint and navigate to Insights Compliance Save blueprint and navigate to Insights Compliance
</AlertActionLink> </AlertActionLink>
</Alert> </Alert>

View file

@ -149,7 +149,7 @@ const PackageRecommendations = () => {
}; };
return ( return (
<Panel variant="bordered" className="panel-border"> <Panel variant='bordered' className='panel-border'>
<PanelMain> <PanelMain>
<PanelMainBody> <PanelMainBody>
<ExpandableSection <ExpandableSection
@ -166,7 +166,7 @@ const PackageRecommendations = () => {
<Content component={ContentVariants.small}> <Content component={ContentVariants.small}>
<em>Powered by RHEL Lightspeed</em>{' '} <em>Powered by RHEL Lightspeed</em>{' '}
<Popover <Popover
maxWidth="30rem" maxWidth='30rem'
// overrides the expandable behaviour to allow placing // overrides the expandable behaviour to allow placing
// a popover there // a popover there
onShow={() => setIsExpanded(false)} onShow={() => setIsExpanded(false)}
@ -194,11 +194,11 @@ const PackageRecommendations = () => {
{packages.length === 0 && ( {packages.length === 0 && (
<>Select packages to generate recommendations.</> <>Select packages to generate recommendations.</>
)} )}
{isLoading && <Spinner size="lg" />} {isLoading && <Spinner size='lg' />}
{isError && ( {isError && (
<Alert <Alert
title="Recommendations couldn't be fetched" title="Recommendations couldn't be fetched"
variant="danger" variant='danger'
isPlain isPlain
isInline isInline
> >
@ -219,15 +219,15 @@ const PackageRecommendations = () => {
blueprint. blueprint.
</Content> </Content>
</Content> </Content>
<Table variant="compact"> <Table variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th width={35}>Package name</Th> <Th width={35}>Package name</Th>
<Th width={45}>Description</Th> <Th width={45}>Description</Th>
<Th width={20}> <Th width={20}>
<Button <Button
variant="link" variant='link'
component="a" component='a'
onClick={() => addAllPackages()} onClick={() => addAllPackages()}
isInline isInline
> >
@ -242,7 +242,7 @@ const PackageRecommendations = () => {
<Td>{pkg}</Td> <Td>{pkg}</Td>
{isLoadingDescriptions && ( {isLoadingDescriptions && (
<Td> <Td>
<Spinner size="md" /> <Spinner size='md' />
</Td> </Td>
)} )}
{isSuccessDescriptions && ( {isSuccessDescriptions && (
@ -254,8 +254,8 @@ const PackageRecommendations = () => {
)} )}
<Td> <Td>
<Button <Button
variant="link" variant='link'
component="a" component='a'
onClick={() => { onClick={() => {
analytics.track( analytics.track(
`${AMPLITUDE_MODULE_NAME} - Recommended Package Added`, `${AMPLITUDE_MODULE_NAME} - Recommended Package Added`,

View file

@ -447,9 +447,9 @@ const Packages = () => {
<Td colSpan={5}> <Td colSpan={5}>
<Bullseye> <Bullseye>
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
icon={SearchIcon} icon={SearchIcon}
titleText="The search value is too short" titleText='The search value is too short'
variant={EmptyStateVariant.sm} variant={EmptyStateVariant.sm}
> >
<EmptyStateBody> <EmptyStateBody>
@ -470,14 +470,14 @@ const Packages = () => {
<Td colSpan={5}> <Td colSpan={5}>
<Bullseye> <Bullseye>
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
titleText="No selected packages in Other repos" titleText='No selected packages in Other repos'
variant={EmptyStateVariant.sm} variant={EmptyStateVariant.sm}
> >
<EmptyStateBody> <EmptyStateBody>
Try looking under &quot; Try looking under &quot;
<Button <Button
variant="link" variant='link'
onClick={() => setActiveTabKey(Repos.INCLUDED)} onClick={() => setActiveTabKey(Repos.INCLUDED)}
isInline isInline
> >
@ -501,8 +501,8 @@ const Packages = () => {
<Td colSpan={5}> <Td colSpan={5}>
<Bullseye> <Bullseye>
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
titleText="No results found" titleText='No results found'
icon={SearchIcon} icon={SearchIcon}
variant={EmptyStateVariant.sm} variant={EmptyStateVariant.sm}
> >
@ -514,7 +514,7 @@ const Packages = () => {
<EmptyStateActions> <EmptyStateActions>
{!process.env.IS_ON_PREMISE && ( {!process.env.IS_ON_PREMISE && (
<Button <Button
variant="primary" variant='primary'
onClick={() => setActiveTabKey(Repos.OTHER)} onClick={() => setActiveTabKey(Repos.OTHER)}
> >
Search other repositories Search other repositories
@ -523,12 +523,12 @@ const Packages = () => {
</EmptyStateActions> </EmptyStateActions>
<EmptyStateActions> <EmptyStateActions>
<Button <Button
className="pf-v6-u-pt-md" className='pf-v6-u-pt-md'
variant="link" variant='link'
isInline isInline
component="a" component='a'
target="_blank" target='_blank'
iconPosition="right" iconPosition='right'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
href={CONTENT_URL} href={CONTENT_URL}
> >
@ -549,8 +549,8 @@ const Packages = () => {
<Td colSpan={5}> <Td colSpan={5}>
<Bullseye> <Bullseye>
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
titleText="No results found" titleText='No results found'
icon={SearchIcon} icon={SearchIcon}
variant={EmptyStateVariant.sm} variant={EmptyStateVariant.sm}
> >
@ -558,10 +558,10 @@ const Packages = () => {
No packages found in known repositories. If you know of a No packages found in known repositories. If you know of a
repository containing this packages, add it to{' '} repository containing this packages, add it to{' '}
<Button <Button
variant="link" variant='link'
isInline isInline
component="a" component='a'
target="_blank" target='_blank'
href={CONTENT_URL} href={CONTENT_URL}
> >
your repositories your repositories
@ -582,11 +582,11 @@ const Packages = () => {
<Modal <Modal
isOpen={isRepoModalOpen} isOpen={isRepoModalOpen}
onClose={handleCloseModalToggle} onClose={handleCloseModalToggle}
width="50%" width='50%'
> >
<ModalHeader <ModalHeader
title="Custom repositories will be added to your image" title='Custom repositories will be added to your image'
titleIconVariant="warning" titleIconVariant='warning'
/> />
<ModalBody> <ModalBody>
You have selected packages that belong to custom repositories. By You have selected packages that belong to custom repositories. By
@ -596,10 +596,10 @@ const Packages = () => {
<br /> <br />
The repositories will also get enabled in{' '} The repositories will also get enabled in{' '}
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
iconPosition="right" iconPosition='right'
isInline isInline
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
href={CONTENT_URL} href={CONTENT_URL}
@ -608,7 +608,7 @@ const Packages = () => {
</Button>{' '} </Button>{' '}
if they were not enabled yet: if they were not enabled yet:
<br /> <br />
<Table variant="compact"> <Table variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
{isSelectingPackage ? ( {isSelectingPackage ? (
@ -639,15 +639,15 @@ const Packages = () => {
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button <Button
key="add" key='add'
variant="primary" variant='primary'
isLoading={createLoading} isLoading={createLoading}
isDisabled={createLoading} isDisabled={createLoading}
onClick={handleConfirmModalToggle} onClick={handleConfirmModalToggle}
> >
Add listed repositories Add listed repositories
</Button> </Button>
<Button key="back" variant="link" onClick={handleCloseModalToggle}> <Button key='back' variant='link' onClick={handleCloseModalToggle}>
Back Back
</Button> </Button>
</ModalFooter> </ModalFooter>
@ -1168,21 +1168,21 @@ const Packages = () => {
switch (true) { switch (true) {
case differenceInDays < 0: case differenceInDays < 0:
icon = ( icon = (
<Icon status="danger" isInline> <Icon status='danger' isInline>
<ExclamationCircleIcon /> <ExclamationCircleIcon />
</Icon> </Icon>
); );
break; break;
case differenceInDays <= 365: case differenceInDays <= 365:
icon = ( icon = (
<Icon status="warning" isInline> <Icon status='warning' isInline>
<ExclamationTriangleIcon /> <ExclamationTriangleIcon />
</Icon> </Icon>
); );
break; break;
case differenceInDays > 365: case differenceInDays > 365:
icon = ( icon = (
<Icon status="success" isInline> <Icon status='success' isInline>
<CheckCircleIcon /> <CheckCircleIcon />
</Icon> </Icon>
); );
@ -1211,7 +1211,7 @@ const Packages = () => {
key={`${grp.name}-${rowIndex}`} key={`${grp.name}-${rowIndex}`}
isExpanded={isGroupExpanded(grp.name)} isExpanded={isGroupExpanded(grp.name)}
> >
<Tr data-testid="package-row"> <Tr data-testid='package-row'>
<Td <Td
expand={{ expand={{
rowIndex: rowIndex, rowIndex: rowIndex,
@ -1232,8 +1232,8 @@ const Packages = () => {
<Td> <Td>
@{grp.name} @{grp.name}
<Popover <Popover
minWidth="25rem" minWidth='25rem'
headerContent="Included packages" headerContent='Included packages'
bodyContent={ bodyContent={
<div <div
style={ style={
@ -1244,8 +1244,8 @@ const Packages = () => {
> >
{grp.package_list.length > 0 ? ( {grp.package_list.length > 0 ? (
<Table <Table
variant="compact" variant='compact'
data-testid="group-included-packages-table" data-testid='group-included-packages-table'
> >
<Tbody> <Tbody>
{grp.package_list.map((pkg) => ( {grp.package_list.map((pkg) => (
@ -1262,11 +1262,11 @@ const Packages = () => {
} }
> >
<Button <Button
icon={<HelpIcon className="pf-v6-u-ml-xs" />} icon={<HelpIcon className='pf-v6-u-ml-xs' />}
variant="plain" variant='plain'
aria-label="About included packages" aria-label='About included packages'
component="span" component='span'
className="pf-v6-u-p-0" className='pf-v6-u-p-0'
isInline isInline
/> />
</Popover> </Popover>
@ -1311,7 +1311,7 @@ const Packages = () => {
key={`${pkg.name}-${rowIndex}`} key={`${pkg.name}-${rowIndex}`}
isExpanded={isPkgExpanded(pkg)} isExpanded={isPkgExpanded(pkg)}
> >
<Tr data-testid="package-row"> <Tr data-testid='package-row'>
<Td <Td
expand={{ expand={{
rowIndex: rowIndex, rowIndex: rowIndex,
@ -1434,11 +1434,11 @@ const Packages = () => {
const PackagesTable = () => { const PackagesTable = () => {
return ( return (
<Table variant="compact" data-testid="packages-table"> <Table variant='compact' data-testid='packages-table'>
<Thead> <Thead>
<Tr> <Tr>
<Th aria-label="Expanded" /> <Th aria-label='Expanded' />
<Th aria-label="Selected" /> <Th aria-label='Selected' />
<Th sort={getSortParams(0)} width={30}> <Th sort={getSortParams(0)} width={30}>
Name Name
</Th> </Th>
@ -1463,10 +1463,10 @@ const Packages = () => {
<ToolbarContent> <ToolbarContent>
<ToolbarItem> <ToolbarItem>
<SearchInput <SearchInput
type="text" type='text'
placeholder="Search packages" placeholder='Search packages'
aria-label="Search packages" aria-label='Search packages'
data-testid="packages-search-input" data-testid='packages-search-input'
value={searchTerm} value={searchTerm}
onChange={handleSearch} onChange={handleSearch}
onClear={() => handleClear()} onClear={() => handleClear()}
@ -1475,8 +1475,8 @@ const Packages = () => {
<ToolbarItem> <ToolbarItem>
<ToggleGroup> <ToggleGroup>
<ToggleGroupItem <ToggleGroupItem
text="Available" text='Available'
buttonId="toggle-available" buttonId='toggle-available'
isSelected={toggleSelected === 'toggle-available'} isSelected={toggleSelected === 'toggle-available'}
onChange={handleFilterToggleClick} onChange={handleFilterToggleClick}
/> />
@ -1488,15 +1488,15 @@ const Packages = () => {
? ` (${packages.length + groups.length})` ? ` (${packages.length + groups.length})`
: ' (100+)' : ' (100+)'
}`} }`}
buttonId="toggle-selected" buttonId='toggle-selected'
isSelected={toggleSelected === 'toggle-selected'} isSelected={toggleSelected === 'toggle-selected'}
onChange={handleFilterToggleClick} onChange={handleFilterToggleClick}
/> />
</ToggleGroup> </ToggleGroup>
</ToolbarItem> </ToolbarItem>
<ToolbarItem variant="pagination"> <ToolbarItem variant='pagination'>
<Pagination <Pagination
data-testid="packages-pagination-top" data-testid='packages-pagination-top'
itemCount={ itemCount={
searchTerm === '' && toggleSelected === 'toggle-available' searchTerm === '' && toggleSelected === 'toggle-available'
? 0 ? 0
@ -1517,7 +1517,7 @@ const Packages = () => {
<ToolbarContent> <ToolbarContent>
<CustomHelperText <CustomHelperText
hide={!debouncedSearchTermLengthOf1 || debouncedSearchTermIsGroup} hide={!debouncedSearchTermLengthOf1 || debouncedSearchTermIsGroup}
textValue="The search value must be greater than 1 character" textValue='The search value must be greater than 1 character'
/> />
</ToolbarContent> </ToolbarContent>
</Stack> </Stack>
@ -1526,26 +1526,26 @@ const Packages = () => {
<Tabs <Tabs
activeKey={activeTabKey} activeKey={activeTabKey}
onSelect={handleTabClick} onSelect={handleTabClick}
aria-label="Repositories tabs on packages step" aria-label='Repositories tabs on packages step'
> >
<Tab <Tab
eventKey="included-repos" eventKey='included-repos'
title={<TabTitleText>Included repos</TabTitleText>} title={<TabTitleText>Included repos</TabTitleText>}
actions={<IncludedReposPopover />} actions={<IncludedReposPopover />}
aria-label="Included repositories" aria-label='Included repositories'
/> />
{!process.env.IS_ON_PREMISE && ( {!process.env.IS_ON_PREMISE && (
<Tab <Tab
eventKey="other-repos" eventKey='other-repos'
title={<TabTitleText>Other repos</TabTitleText>} title={<TabTitleText>Other repos</TabTitleText>}
actions={<OtherReposPopover />} actions={<OtherReposPopover />}
aria-label="Other repositories" aria-label='Other repositories'
/> />
)} )}
</Tabs> </Tabs>
<PackagesTable /> <PackagesTable />
<Pagination <Pagination
data-testid="packages-pagination-bottom" data-testid='packages-pagination-bottom'
itemCount={ itemCount={
searchTerm === '' && toggleSelected === 'toggle-available' searchTerm === '' && toggleSelected === 'toggle-available'
? 0 ? 0

View file

@ -6,7 +6,7 @@ import { HelpIcon } from '@patternfly/react-icons';
const PackageInfoNotAvailablePopover = () => { const PackageInfoNotAvailablePopover = () => {
return ( return (
<Popover <Popover
headerContent="Package description" headerContent='Package description'
bodyContent={ bodyContent={
<Content> <Content>
<Content> <Content>
@ -22,9 +22,9 @@ const PackageInfoNotAvailablePopover = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
aria-label="Package description" aria-label='Package description'
className="pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0'
/> />
</Popover> </Popover>
); );

View file

@ -17,10 +17,10 @@ export const IncludedReposPopover = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
aria-label="About included repositories" aria-label='About included repositories'
component="span" component='span'
size="sm" size='sm'
isInline isInline
/> />
</Popover> </Popover>
@ -41,10 +41,10 @@ export const OtherReposPopover = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
aria-label="About other repositories" aria-label='About other repositories'
component="span" component='span'
size="sm" size='sm'
isInline isInline
/> />
</Popover> </Popover>

View file

@ -13,21 +13,21 @@ const PackagesStep = () => {
const distribution = useAppSelector(selectDistribution); const distribution = useAppSelector(selectDistribution);
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Additional packages Additional packages
</Title> </Title>
<Content> <Content>
Blueprints created with Images include all required packages. Blueprints created with Images include all required packages.
</Content> </Content>
{!process.env.IS_ON_PREMISE && ( {!process.env.IS_ON_PREMISE && (
<Alert variant="info" isInline title="Search for package groups"> <Alert variant='info' isInline title='Search for package groups'>
Search for package groups by starting your search with the Search for package groups by starting your search with the
&apos;@&apos; character. A single &apos;@&apos; as search input lists &apos;@&apos; character. A single &apos;@&apos; as search input lists
all available package groups. all available package groups.
</Alert> </Alert>
)} )}
{process.env.IS_ON_PREMISE && ( {process.env.IS_ON_PREMISE && (
<Alert variant="info" isInline title="Searching for packages"> <Alert variant='info' isInline title='Searching for packages'>
Search for exact matches by specifying the whole package name, or glob Search for exact matches by specifying the whole package name, or glob
using asterisk wildcards (*) before or after the package name. using asterisk wildcards (*) before or after the package name.
</Alert> </Alert>

View file

@ -32,7 +32,7 @@ const ActivationKeyInformation = (): JSX.Element => {
return ( return (
<> <>
{isFetchingActivationKeyInfo && <Spinner size="lg" />} {isFetchingActivationKeyInfo && <Spinner size='lg' />}
{isSuccessActivationKeyInfo && ( {isSuccessActivationKeyInfo && (
<Content> <Content>
<Content component={ContentVariants.dl}> <Content component={ContentVariants.dl}>
@ -65,29 +65,29 @@ const ActivationKeyInformation = (): JSX.Element => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
aria-label="About additional repositories" aria-label='About additional repositories'
className="pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0'
/> />
</Popover> </Popover>
</Content> </Content>
<Content <Content
component={ContentVariants.dd} component={ContentVariants.dd}
className="pf-v6-u-display-flex pf-v6-u-align-items-flex-end" className='pf-v6-u-display-flex pf-v6-u-align-items-flex-end'
> >
{activationKeyInfo?.body?.additionalRepositories && {activationKeyInfo?.body?.additionalRepositories &&
activationKeyInfo?.body?.additionalRepositories?.length > 0 ? ( activationKeyInfo?.body?.additionalRepositories?.length > 0 ? (
<Popover <Popover
position="right" position='right'
minWidth="30rem" minWidth='30rem'
bodyContent={ bodyContent={
<Content> <Content>
<Content component={ContentVariants.h3}> <Content component={ContentVariants.h3}>
Additional repositories Additional repositories
</Content> </Content>
<Table <Table
aria-label="Additional repositories table" aria-label='Additional repositories table'
variant="compact" variant='compact'
> >
<Thead> <Thead>
<Tr> <Tr>
@ -108,9 +108,9 @@ const ActivationKeyInformation = (): JSX.Element => {
} }
> >
<Button <Button
variant="link" variant='link'
aria-label="Show additional repositories" aria-label='Show additional repositories'
className="pf-v6-u-pl-0 pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-0 pf-v6-u-pt-0 pf-v6-u-pb-0'
> >
{activationKeyInfo.body?.additionalRepositories?.length}{' '} {activationKeyInfo.body?.additionalRepositories?.length}{' '}
repositories repositories
@ -131,8 +131,8 @@ const ActivationKeyInformation = (): JSX.Element => {
</Content> </Content>
<br /> <br />
<Alert <Alert
title="Information about the activation key unavailable" title='Information about the activation key unavailable'
variant="danger" variant='danger'
isPlain isPlain
isInline isInline
> >

View file

@ -207,15 +207,15 @@ const ActivationKeysList = () => {
if (isFetchingActivationKeys) { if (isFetchingActivationKeys) {
selectOptionsElement.push( selectOptionsElement.push(
<SelectOption key="Fetching" value="loader"> <SelectOption key='Fetching' value='loader'>
<Spinner size="md" /> <Spinner size='md' />
</SelectOption>, </SelectOption>,
); );
} }
if (isSuccessActivationKeys && selectOptions.length === 0) { if (isSuccessActivationKeys && selectOptions.length === 0) {
selectOptionsElement.push( selectOptionsElement.push(
<SelectOption key="no_results" value="no_results" isDisabled> <SelectOption key='no_results' value='no_results' isDisabled>
No results found No results found
</SelectOption>, </SelectOption>,
); );
@ -227,11 +227,11 @@ const ActivationKeysList = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={handleToggle} onClick={handleToggle}
onKeyDown={handleKeyDown} onKeyDown={handleKeyDown}
isExpanded={isOpen} isExpanded={isOpen}
data-testid="activation-key-select" data-testid='activation-key-select'
isDisabled={ isDisabled={
!isSuccessActivationKeys || !isSuccessActivationKeys ||
registrationType === 'register-later' || registrationType === 'register-later' ||
@ -250,8 +250,8 @@ const ActivationKeysList = () => {
} }
onClick={handleToggle} onClick={handleToggle}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select activation key" placeholder='Select activation key'
isExpanded={isOpen} isExpanded={isOpen}
/> />
</TextInputGroup> </TextInputGroup>
@ -260,7 +260,7 @@ const ActivationKeysList = () => {
return ( return (
<> <>
<FormGroup label="Activation key to use for this image"> <FormGroup label='Activation key to use for this image'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}
@ -283,8 +283,8 @@ const ActivationKeysList = () => {
</FormGroup> </FormGroup>
{isErrorActivationKeys && ( {isErrorActivationKeys && (
<Alert <Alert
title="Activation keys unavailable" title='Activation keys unavailable'
variant="danger" variant='danger'
isPlain isPlain
isInline isInline
> >

View file

@ -8,11 +8,11 @@ import { ACTIVATION_KEYS_URL } from '../../../../../constants';
const ManageKeysButton = () => { const ManageKeysButton = () => {
return ( return (
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={ACTIVATION_KEYS_URL} href={ACTIVATION_KEYS_URL}
> >

View file

@ -21,9 +21,9 @@ import {
const InsightsPopover = () => { const InsightsPopover = () => {
return ( return (
<Popover <Popover
headerContent="About Red Hat Insights" headerContent='About Red Hat Insights'
position="right" position='right'
minWidth="30rem" minWidth='30rem'
bodyContent={ bodyContent={
<Content> <Content>
<Content> <Content>
@ -33,11 +33,11 @@ const InsightsPopover = () => {
in downtime. in downtime.
</Content> </Content>
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={INSIGHTS_URL} href={INSIGHTS_URL}
> >
@ -48,9 +48,9 @@ const InsightsPopover = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
className="pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0'
aria-label="About remote host configuration (rhc)" aria-label='About remote host configuration (rhc)'
isInline isInline
/> />
</Popover> </Popover>
@ -60,9 +60,9 @@ const InsightsPopover = () => {
const RhcPopover = () => { const RhcPopover = () => {
return ( return (
<Popover <Popover
headerContent="About remote host configuration (rhc)" headerContent='About remote host configuration (rhc)'
position="right" position='right'
minWidth="30rem" minWidth='30rem'
bodyContent={ bodyContent={
<Content> <Content>
<Content> <Content>
@ -71,11 +71,11 @@ const RhcPopover = () => {
to use the Red Hat Insights Remediations service. to use the Red Hat Insights Remediations service.
</Content> </Content>
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={RHC_URL} href={RHC_URL}
> >
@ -86,9 +86,9 @@ const RhcPopover = () => {
> >
<Button <Button
icon={<HelpIcon />} icon={<HelpIcon />}
variant="plain" variant='plain'
className="pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pl-sm pf-v6-u-pt-0 pf-v6-u-pb-0'
aria-label="About remote host configuration (rhc)" aria-label='About remote host configuration (rhc)'
isInline isInline
/> />
</Popover> </Popover>
@ -108,9 +108,9 @@ const Registration = () => {
); );
return ( return (
<FormGroup label="Registration method"> <FormGroup label='Registration method'>
<Radio <Radio
label="Automatically register and enable advanced capabilities" label='Automatically register and enable advanced capabilities'
isChecked={ isChecked={
registrationType === 'register-now' || registrationType === 'register-now' ||
registrationType === 'register-now-insights' || registrationType === 'register-now-insights' ||
@ -121,13 +121,13 @@ const Registration = () => {
dispatch(changeRegistrationType('register-now-rhc')); dispatch(changeRegistrationType('register-now-rhc'));
} }
}} }}
id="register-system-now" id='register-system-now'
name="register-system-now" name='register-system-now'
autoFocus autoFocus
description={ description={
<Button <Button
component="a" component='a'
variant="link" variant='link'
isDisabled={!registrationType.startsWith('register-now')} isDisabled={!registrationType.startsWith('register-now')}
isInline isInline
onClick={() => setShowOptions(!showOptions)} onClick={() => setShowOptions(!showOptions)}
@ -138,7 +138,7 @@ const Registration = () => {
body={ body={
showOptions && ( showOptions && (
<Checkbox <Checkbox
className="pf-v6-u-ml-lg" className='pf-v6-u-ml-lg'
label={ label={
<> <>
Enable predictive analytics and management capabilities Enable predictive analytics and management capabilities
@ -156,8 +156,8 @@ const Registration = () => {
dispatch(changeRegistrationType('register-now')); dispatch(changeRegistrationType('register-now'));
} }
}} }}
id="register-system-now-insights" id='register-system-now-insights'
name="register-system-insights" name='register-system-insights'
body={ body={
<Checkbox <Checkbox
label={ label={
@ -175,8 +175,8 @@ const Registration = () => {
dispatch(changeRegistrationType('register-now-insights')); dispatch(changeRegistrationType('register-now-insights'));
} }
}} }}
id="register-system-now-rhc" id='register-system-now-rhc'
name="register-system-rhc" name='register-system-rhc'
/> />
} }
/> />
@ -184,25 +184,25 @@ const Registration = () => {
} }
/> />
<Radio <Radio
label="Register later" label='Register later'
isChecked={registrationType === 'register-later'} isChecked={registrationType === 'register-later'}
onChange={() => { onChange={() => {
dispatch(changeRegistrationType('register-later')); dispatch(changeRegistrationType('register-later'));
setShowOptions(false); setShowOptions(false);
}} }}
id="register-later" id='register-later'
name="register-later" name='register-later'
/> />
{isSatelliteRegistrationEnabled && ( {isSatelliteRegistrationEnabled && (
<Radio <Radio
label="Register with Satellite" label='Register with Satellite'
isChecked={registrationType === 'register-satellite'} isChecked={registrationType === 'register-satellite'}
onChange={() => { onChange={() => {
dispatch(changeRegistrationType('register-satellite')); dispatch(changeRegistrationType('register-satellite'));
setShowOptions(false); setShowOptions(false);
}} }}
id="register-satellite" id='register-satellite'
name="register-satellite" name='register-satellite'
/> />
)} )}
</FormGroup> </FormGroup>

View file

@ -50,10 +50,10 @@ const SatelliteRegistration = () => {
return ( return (
<> <>
<SatelliteRegistrationCommand /> <SatelliteRegistrationCommand />
<FormGroup label="Certificate authority (CA) for Satellite"> <FormGroup label='Certificate authority (CA) for Satellite'>
<FileUpload <FileUpload
id="text-file-with-restrictions-example" id='text-file-with-restrictions-example'
type="text" type='text'
value={caCertificate || ''} value={caCertificate || ''}
filename={caCertificate ? 'CA detected' : ''} filename={caCertificate ? 'CA detected' : ''}
onDataChange={handleDataChange} onDataChange={handleDataChange}
@ -69,7 +69,7 @@ const SatelliteRegistration = () => {
onDropRejected: handleFileRejected, onDropRejected: handleFileRejected,
}} }}
validated={isRejected ? 'error' : validated} validated={isRejected ? 'error' : validated}
browseButtonText="Upload" browseButtonText='Upload'
allowEditingUploadedText={true} allowEditingUploadedText={true}
/> />
<FormHelperText> <FormHelperText>

View file

@ -37,22 +37,22 @@ const SatelliteRegistrationCommand = () => {
}; };
return ( return (
<FormGroup label="Registration command from Satellite" isRequired> <FormGroup label='Registration command from Satellite' isRequired>
<ValidatedInputAndTextArea <ValidatedInputAndTextArea
inputType={'textArea'} inputType={'textArea'}
ariaLabel="registration command" ariaLabel='registration command'
value={registrationCommand || ''} value={registrationCommand || ''}
onChange={handleChange} onChange={handleChange}
placeholder="Registration command" placeholder='Registration command'
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="command" fieldName='command'
warning={stepValidation.errors.expired} warning={stepValidation.errors.expired}
/> />
<FormHelperText> <FormHelperText>
<HelperText> <HelperText>
<HelperTextItem> <HelperTextItem>
To generate command from Satellite, follow the{' '} To generate command from Satellite, follow the{' '}
<a href={registrationDocs} target="_blank" rel="noreferrer"> <a href={registrationDocs} target='_blank' rel='noreferrer'>
documentation documentation
</a> </a>
. .

View file

@ -41,14 +41,14 @@ const RegistrationStep = () => {
const registrationType = useAppSelector(selectRegistrationType); const registrationType = useAppSelector(selectRegistrationType);
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Register systems using this image Register systems using this image
</Title> </Title>
<FormGroup label="Organization ID"> <FormGroup label='Organization ID'>
<ClipboardCopy <ClipboardCopy
hoverTip="Copy to clipboard" hoverTip='Copy to clipboard'
clickTip="Successfully copied to clipboard!" clickTip='Successfully copied to clipboard!'
variant="inline-compact" variant='inline-compact'
> >
{orgId || ''} {orgId || ''}
</ClipboardCopy> </ClipboardCopy>
@ -71,7 +71,7 @@ const RegistrationStep = () => {
registrationType !== 'register-satellite' && ( registrationType !== 'register-satellite' && (
<FormGroup <FormGroup
label={'Selected activation key'} label={'Selected activation key'}
data-testid="selected-activation-key" data-testid='selected-activation-key'
> >
<ActivationKeyInformation /> <ActivationKeyInformation />
</FormGroup> </FormGroup>

View file

@ -507,8 +507,8 @@ const Repositories = () => {
if (!isTemplateSelected) { if (!isTemplateSelected) {
return ( return (
<Grid> <Grid>
<Modal isOpen={modalOpen} onClose={onClose} variant="small"> <Modal isOpen={modalOpen} onClose={onClose} variant='small'>
<ModalHeader title="Are you sure?" titleIconVariant="warning" /> <ModalHeader title='Are you sure?' titleIconVariant='warning' />
<ModalBody> <ModalBody>
You are removing a previously added repository. You are removing a previously added repository.
<br /> <br />
@ -516,18 +516,18 @@ const Repositories = () => {
from them. from them.
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button key="remove" variant="primary" onClick={handleRemoveAnyway}> <Button key='remove' variant='primary' onClick={handleRemoveAnyway}>
Remove anyway Remove anyway
</Button> </Button>
<Button key="back" variant="link" onClick={onClose}> <Button key='back' variant='link' onClick={onClose}>
Back Back
</Button> </Button>
</ModalFooter> </ModalFooter>
</Modal> </Modal>
{wizardMode === 'edit' && ( {wizardMode === 'edit' && (
<Alert <Alert
title="Removing previously added repositories may lead to issues with selected packages" title='Removing previously added repositories may lead to issues with selected packages'
variant="warning" variant='warning'
isPlain isPlain
isInline isInline
/> />
@ -554,8 +554,8 @@ const Repositories = () => {
</ToolbarItem> </ToolbarItem>
<ToolbarItem> <ToolbarItem>
<SearchInput <SearchInput
placeholder="Filter repositories" placeholder='Filter repositories'
aria-label="Filter repositories" aria-label='Filter repositories'
onChange={handleFilterRepositories} onChange={handleFilterRepositories}
value={filterValue} value={filterValue}
onClear={() => setFilterValue('')} onClear={() => setFilterValue('')}
@ -563,7 +563,7 @@ const Repositories = () => {
</ToolbarItem> </ToolbarItem>
<ToolbarItem> <ToolbarItem>
<Button <Button
variant="primary" variant='primary'
isInline isInline
onClick={() => refresh()} onClick={() => refresh()}
isLoading={isFetching} isLoading={isFetching}
@ -572,19 +572,19 @@ const Repositories = () => {
</Button> </Button>
</ToolbarItem> </ToolbarItem>
<ToolbarItem> <ToolbarItem>
<ToggleGroup aria-label="Filter repositories list"> <ToggleGroup aria-label='Filter repositories list'>
<ToggleGroupItem <ToggleGroupItem
text="All" text='All'
aria-label="All repositories" aria-label='All repositories'
buttonId="toggle-group-all" buttonId='toggle-group-all'
isSelected={toggleSelected === 'toggle-group-all'} isSelected={toggleSelected === 'toggle-group-all'}
onChange={() => handleToggleClick('toggle-group-all')} onChange={() => handleToggleClick('toggle-group-all')}
/> />
<ToggleGroupItem <ToggleGroupItem
text="Selected" text='Selected'
isDisabled={!selected.size} isDisabled={!selected.size}
aria-label="Selected repositories" aria-label='Selected repositories'
buttonId="toggle-group-selected" buttonId='toggle-group-selected'
isSelected={toggleSelected === 'toggle-group-selected'} isSelected={toggleSelected === 'toggle-group-selected'}
onChange={() => handleToggleClick('toggle-group-selected')} onChange={() => handleToggleClick('toggle-group-selected')}
/> />
@ -605,10 +605,10 @@ const Repositories = () => {
refetch={refresh} refetch={refresh}
/> />
) : ( ) : (
<Table variant="compact"> <Table variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th aria-label="Selected" /> <Th aria-label='Selected' />
<Th width={45}>Name</Th> <Th width={45}>Name</Th>
<Th width={15}>Architecture</Th> <Th width={15}>Architecture</Th>
<Th>Version</Th> <Th>Version</Th>
@ -656,11 +656,11 @@ const Repositories = () => {
<> <>
<br /> <br />
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={url} href={url}
> >
@ -706,7 +706,7 @@ const Repositories = () => {
return ( return (
<> <>
<Alert <Alert
variant="info" variant='info'
isInline isInline
title={ title={
<> <>
@ -714,9 +714,9 @@ const Repositories = () => {
and have been added automatically. If you do not want these and have been added automatically. If you do not want these
repositories in your image, you can{' '} repositories in your image, you can{' '}
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
isInline isInline
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
href={`${TEMPLATES_URL}/${templateUuid}/edit`} href={`${TEMPLATES_URL}/${templateUuid}/edit`}
@ -731,10 +731,10 @@ const Repositories = () => {
<Grid> <Grid>
<Panel> <Panel>
<PanelMain> <PanelMain>
<Table variant="compact"> <Table variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th aria-label="Selected" /> <Th aria-label='Selected' />
<Th width={45}>Name</Th> <Th width={45}>Name</Th>
<Th width={15}>Architecture</Th> <Th width={15}>Architecture</Th>
<Th>Version</Th> <Th>Version</Th>
@ -774,11 +774,11 @@ const Repositories = () => {
<> <>
<br /> <br />
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={url} href={url}
> >

View file

@ -63,10 +63,10 @@ const RepositoriesStatus = ({
if (repoStatus === 'Valid') { if (repoStatus === 'Valid') {
return ( return (
<> <>
<Icon status="success"> <Icon status='success'>
<CheckCircleIcon /> <CheckCircleIcon />
</Icon>{' '} </Icon>{' '}
<span className="pf-v6-u-font-weight-bold pf-v6-u-text-color-status-success"> <span className='pf-v6-u-font-weight-bold pf-v6-u-text-color-status-success'>
{repoStatus} {repoStatus}
</span> </span>
</> </>
@ -75,19 +75,19 @@ const RepositoriesStatus = ({
return ( return (
<> <>
<Popover <Popover
position="bottom" position='bottom'
minWidth="30rem" minWidth='30rem'
bodyContent={ bodyContent={
<> <>
<Alert <Alert
variant={repoStatus === 'Invalid' ? 'danger' : 'warning'} variant={repoStatus === 'Invalid' ? 'danger' : 'warning'}
title={repoStatus} title={repoStatus}
className="pf-v6-u-pb-sm" className='pf-v6-u-pb-sm'
isInline isInline
isPlain isPlain
/> />
{repoUrl ? ( {repoUrl ? (
<p className="pf-v6-u-pb-md">Cannot fetch {repoUrl}</p> <p className='pf-v6-u-pb-md'>Cannot fetch {repoUrl}</p>
) : ( ) : (
'' ''
)} )}
@ -123,10 +123,10 @@ const RepositoriesStatus = ({
</> </>
)} )}
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
iconPosition="right" iconPosition='right'
isInline isInline
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
href={CONTENT_URL} href={CONTENT_URL}
@ -136,23 +136,23 @@ const RepositoriesStatus = ({
</> </>
} }
> >
<Button variant="link" className="pf-v6-u-p-0 pf-v6-u-font-size-sm"> <Button variant='link' className='pf-v6-u-p-0 pf-v6-u-font-size-sm'>
{repoStatus === 'Invalid' && ( {repoStatus === 'Invalid' && (
<> <>
<Icon status="danger"> <Icon status='danger'>
<ExclamationCircleIcon /> <ExclamationCircleIcon />
</Icon>{' '} </Icon>{' '}
<span className="pf-v6-u-font-weight-bold pf-v6-u-text-color-status-danger failure-button"> <span className='pf-v6-u-font-weight-bold pf-v6-u-text-color-status-danger failure-button'>
{repoStatus} {repoStatus}
</span> </span>
</> </>
)} )}
{repoStatus === 'Unavailable' && ( {repoStatus === 'Unavailable' && (
<> <>
<Icon status="warning"> <Icon status='warning'>
<ExclamationTriangleIcon /> <ExclamationTriangleIcon />
</Icon>{' '} </Icon>{' '}
<span className="pf-v6-u-font-weight-bold pf-v6-u-text-color-status-warning failure-button"> <span className='pf-v6-u-font-weight-bold pf-v6-u-text-color-status-warning failure-button'>
{repoStatus} {repoStatus}
</span> </span>
</> </>
@ -165,7 +165,7 @@ const RepositoriesStatus = ({
return ( return (
<> <>
<Spinner isInline />{' '} <Spinner isInline />{' '}
<span className="pf-v6-u-font-weight-bold pf-v6-u-text-color-status-info"> <span className='pf-v6-u-font-weight-bold pf-v6-u-text-color-status-info'>
{repoStatus} {repoStatus}
</span> </span>
</> </>

View file

@ -8,8 +8,8 @@ import { CONTENT_URL } from '../../../../constants';
const RepositoryUnavailable = ({ quantity }: { quantity: number }) => { const RepositoryUnavailable = ({ quantity }: { quantity: number }) => {
return ( return (
<Alert <Alert
variant="warning" variant='warning'
title="Previously added custom repository unavailable" title='Previously added custom repository unavailable'
isInline isInline
> >
{quantity > 1 {quantity > 1
@ -20,10 +20,10 @@ const RepositoryUnavailable = ({ quantity }: { quantity: number }) => {
<br /> <br />
<br /> <br />
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
iconPosition="right" iconPosition='right'
isInline isInline
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
href={CONTENT_URL} href={CONTENT_URL}

View file

@ -46,15 +46,15 @@ export function BulkSelect({
<Dropdown <Dropdown
toggle={(toggleRef: React.Ref<MenuToggleElement>) => ( toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
id="bulk-select-toggle" id='bulk-select-toggle'
data-testid="bulk-select-toggle" data-testid='bulk-select-toggle'
ref={toggleRef} ref={toggleRef}
isDisabled={isDisabled} isDisabled={isDisabled}
splitButtonItems={[ splitButtonItems={[
<MenuToggleCheckbox <MenuToggleCheckbox
id="bulk-select-checkbox" id='bulk-select-checkbox'
key="split-checkbox" key='split-checkbox'
aria-label="Select all" aria-label='Select all'
isChecked={allChecked || someChecked ? null : false} isChecked={allChecked || someChecked ? null : false}
onClick={handleSelectPage} onClick={handleSelectPage}
/>, />,
@ -68,7 +68,7 @@ export function BulkSelect({
> >
<DropdownList> <DropdownList>
<DropdownItem <DropdownItem
key="none" key='none'
isDisabled={!selected.size} isDisabled={!selected.size}
onClick={() => { onClick={() => {
deselectAll(); deselectAll();
@ -76,7 +76,7 @@ export function BulkSelect({
}} }}
>{`Clear all (${selected.size} items)`}</DropdownItem> >{`Clear all (${selected.size} items)`}</DropdownItem>
<DropdownItem <DropdownItem
key="page" key='page'
isDisabled={!contentList.length} isDisabled={!contentList.length}
onClick={() => { onClick={() => {
handleSelectPage(); handleSelectPage();

View file

@ -19,7 +19,7 @@ type EmptyProps = {
const Empty = ({ hasFilterValue, refetch }: EmptyProps) => { const Empty = ({ hasFilterValue, refetch }: EmptyProps) => {
return ( return (
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
icon={RepositoryIcon} icon={RepositoryIcon}
titleText={ titleText={
hasFilterValue hasFilterValue
@ -36,15 +36,15 @@ const Empty = ({ hasFilterValue, refetch }: EmptyProps) => {
</EmptyStateBody> </EmptyStateBody>
<EmptyStateFooter> <EmptyStateFooter>
<Button <Button
variant="primary" variant='primary'
component="a" component='a'
target="_blank" target='_blank'
href={CONTENT_URL} href={CONTENT_URL}
className="pf-v6-u-mr-sm" className='pf-v6-u-mr-sm'
> >
Go to repositories Go to repositories
</Button> </Button>
<Button variant="secondary" isInline onClick={() => refetch()}> <Button variant='secondary' isInline onClick={() => refetch()}>
Refresh Refresh
</Button> </Button>
</EmptyStateFooter> </EmptyStateFooter>

View file

@ -4,7 +4,7 @@ import { Alert } from '@patternfly/react-core';
export const Error = () => { export const Error = () => {
return ( return (
<Alert title="Repositories unavailable" variant="danger" isPlain isInline> <Alert title='Repositories unavailable' variant='danger' isPlain isInline>
Repositories cannot be reached, try again later. Repositories cannot be reached, try again later.
</Alert> </Alert>
); );

View file

@ -6,9 +6,9 @@ export const Loading = () => {
return ( return (
<Bullseye> <Bullseye>
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
icon={Spinner} icon={Spinner}
titleText="Loading" titleText='Loading'
></EmptyState> ></EmptyState>
</Bullseye> </Bullseye>
); );

View file

@ -8,10 +8,10 @@ import { CONTENT_URL } from '../../../../../constants';
const ManageRepositoriesButton = () => { const ManageRepositoriesButton = () => {
return ( return (
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
iconPosition="right" iconPosition='right'
isInline isInline
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
href={CONTENT_URL} href={CONTENT_URL}

View file

@ -17,7 +17,7 @@ const UploadRepositoryLabel = () => {
} }
> >
<Label <Label
variant="outline" variant='outline'
isCompact isCompact
icon={<UploadIcon />} icon={<UploadIcon />}
style={{ marginLeft: '8px' }} style={{ marginLeft: '8px' }}

View file

@ -17,7 +17,7 @@ const RepositoriesStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Custom repositories Custom repositories
</Title> </Title>
<Content> <Content>
@ -30,7 +30,7 @@ const RepositoriesStep = () => {
{packages.length && recommendedRepos.length ? ( {packages.length && recommendedRepos.length ? (
<Alert <Alert
title="Why can't I remove a selected repository?" title="Why can't I remove a selected repository?"
variant="info" variant='info'
isInline isInline
> >
EPEL repository cannot be removed, because packages from it were EPEL repository cannot be removed, because packages from it were

View file

@ -142,8 +142,8 @@ export const CreateSaveButton = ({
}; };
return ( return (
<Modal isOpen={showModal} onClose={handleClose} width="50%"> <Modal isOpen={showModal} onClose={handleClose} width='50%'>
<ModalHeader title="Save time by building images" /> <ModalHeader title='Save time by building images' />
<ModalBody> <ModalBody>
Building blueprints and images doesn&apos;t need to be a two step Building blueprints and images doesn&apos;t need to be a two step
process. To build images simultaneously, use the dropdown arrow to the process. To build images simultaneously, use the dropdown arrow to the
@ -151,9 +151,9 @@ export const CreateSaveButton = ({
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button <Button
key="back" key='back'
variant="primary" variant='primary'
data-testid="close-button-saveandbuild-modal" data-testid='close-button-saveandbuild-modal'
onClick={handleClose} onClick={handleClose}
> >
Close Close
@ -201,7 +201,7 @@ export const CreateSaveButton = ({
{showModal && <SaveAndBuildImagesModal />} {showModal && <SaveAndBuildImagesModal />}
<MenuToggleAction <MenuToggleAction
onClick={onClick} onClick={onClick}
id="wizard-create-save-btn" id='wizard-create-save-btn'
isDisabled={isDisabled} isDisabled={isDisabled}
> >
<Flex display={{ default: 'inlineFlex' }}> <Flex display={{ default: 'inlineFlex' }}>
@ -212,7 +212,7 @@ export const CreateSaveButton = ({
{ '--pf-v6-c-spinner--Color': '#fff' } as React.CSSProperties { '--pf-v6-c-spinner--Color': '#fff' } as React.CSSProperties
} }
isInline isInline
size="md" size='md'
/> />
</FlexItem> </FlexItem>
)} )}

View file

@ -150,7 +150,7 @@ export const EditSaveButton = ({
return ( return (
<MenuToggleAction <MenuToggleAction
onClick={onSave} onClick={onSave}
id="wizard-edit-save-btn" id='wizard-edit-save-btn'
isDisabled={isDisabled} isDisabled={isDisabled}
> >
<Flex display={{ default: 'inlineFlex' }}> <Flex display={{ default: 'inlineFlex' }}>
@ -161,7 +161,7 @@ export const EditSaveButton = ({
{ '--pf-v6-c-spinner--Color': '#fff' } as React.CSSProperties { '--pf-v6-c-spinner--Color': '#fff' } as React.CSSProperties
} }
isInline isInline
size="md" size='md'
/> />
</FlexItem> </FlexItem>
)} )}

View file

@ -71,7 +71,7 @@ const ReviewWizardFooter = () => {
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)} onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
toggle={(toggleRef: React.Ref<MenuToggleElement>) => ( toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
variant="primary" variant='primary'
ref={toggleRef} ref={toggleRef}
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
@ -80,7 +80,7 @@ const ReviewWizardFooter = () => {
composeId composeId
? [ ? [
<EditSaveButton <EditSaveButton
key="wizard-edit-save-btn" key='wizard-edit-save-btn'
getBlueprintPayload={getBlueprintPayload} getBlueprintPayload={getBlueprintPayload}
setIsOpen={setIsOpen} setIsOpen={setIsOpen}
blueprintId={composeId} blueprintId={composeId}
@ -89,7 +89,7 @@ const ReviewWizardFooter = () => {
] ]
: [ : [
<CreateSaveButton <CreateSaveButton
key="wizard-create-save-btn" key='wizard-create-save-btn'
getBlueprintPayload={getBlueprintPayload} getBlueprintPayload={getBlueprintPayload}
setIsOpen={setIsOpen} setIsOpen={setIsOpen}
isDisabled={!isValid} isDisabled={!isValid}
@ -115,10 +115,10 @@ const ReviewWizardFooter = () => {
/> />
)} )}
</Dropdown> </Dropdown>
<Button variant="secondary" onClick={goToPrevStep}> <Button variant='secondary' onClick={goToPrevStep}>
Back Back
</Button> </Button>
<Button variant="link" onClick={close}> <Button variant='link' onClick={close}>
Cancel Cancel
</Button> </Button>
</Flex> </Flex>

View file

@ -150,12 +150,12 @@ const Review = () => {
return ( return (
<Button <Button
icon={<ArrowRightIcon />} icon={<ArrowRightIcon />}
variant="link" variant='link'
aria-label={ariaLabel} aria-label={ariaLabel}
data-testid={testId} data-testid={testId}
component="span" component='span'
onClick={() => revisitStep(stepId)} onClick={() => revisitStep(stepId)}
className="pf-v6-u-p-0 pf-v6-u-font-weight-bold" className='pf-v6-u-p-0 pf-v6-u-font-weight-bold'
isInline isInline
> >
Revisit step Revisit step
@ -172,9 +172,9 @@ const Review = () => {
<Split hasGutter> <Split hasGutter>
<SplitItem <SplitItem
isFilled isFilled
className="pf-v6-u-min-width pf-v6-u-text-align-start" className='pf-v6-u-min-width pf-v6-u-text-align-start'
> >
<Button variant="link" component="span" isInline> <Button variant='link' component='span' isInline>
{label} {label}
</Button> </Button>
</SplitItem> </SplitItem>
@ -202,7 +202,7 @@ const Review = () => {
} }
isExpanded={isExpandedImageOutput} isExpanded={isExpandedImageOutput}
isIndented isIndented
data-testid="image-output-expandable" data-testid='image-output-expandable'
> >
<ImageOutputList /> <ImageOutputList />
</ExpandableSection> </ExpandableSection>
@ -217,7 +217,7 @@ const Review = () => {
} }
isExpanded={isExpandedTargetEnvs} isExpanded={isExpandedTargetEnvs}
isIndented isIndented
data-testid="target-environments-expandable" data-testid='target-environments-expandable'
> >
<Stack hasGutter> <Stack hasGutter>
{environments.includes('aws') && ( {environments.includes('aws') && (
@ -304,7 +304,7 @@ const Review = () => {
} }
isExpanded={isExpandedRegistration} isExpanded={isExpandedRegistration}
isIndented isIndented
data-testid="registration-expandable" data-testid='registration-expandable'
> >
{registrationType === 'register-later' && <RegisterLaterList />} {registrationType === 'register-later' && <RegisterLaterList />}
{registrationType === 'register-satellite' && ( {registrationType === 'register-satellite' && (
@ -325,7 +325,7 @@ const Review = () => {
} }
isExpanded={isExpandedOscapDetail} isExpanded={isExpandedOscapDetail}
isIndented isIndented
data-testid="oscap-detail-expandable" data-testid='oscap-detail-expandable'
> >
<OscapList /> <OscapList />
</ExpandableSection> </ExpandableSection>
@ -342,7 +342,7 @@ const Review = () => {
} }
isExpanded={isExpandedComplianceDetail} isExpanded={isExpandedComplianceDetail}
isIndented isIndented
data-testid="compliance-detail-expandable" data-testid='compliance-detail-expandable'
> >
<OscapList /> <OscapList />
</ExpandableSection> </ExpandableSection>
@ -357,7 +357,7 @@ const Review = () => {
onToggle={(_event, isExpandedFSC) => onToggleFSC(isExpandedFSC)} onToggle={(_event, isExpandedFSC) => onToggleFSC(isExpandedFSC)}
isExpanded={isExpandedFSC} isExpanded={isExpandedFSC}
isIndented isIndented
data-testid="file-system-configuration-expandable" data-testid='file-system-configuration-expandable'
> >
<FSCList /> <FSCList />
</ExpandableSection> </ExpandableSection>
@ -373,7 +373,7 @@ const Review = () => {
} }
isExpanded={isExpandedContent} isExpanded={isExpandedContent}
isIndented isIndented
data-testid="content-expandable" data-testid='content-expandable'
> >
<ContentList /> <ContentList />
</ExpandableSection> </ExpandableSection>
@ -387,7 +387,7 @@ const Review = () => {
onToggle={(_event, isExpandedUsers) => onToggleUsers(isExpandedUsers)} onToggle={(_event, isExpandedUsers) => onToggleUsers(isExpandedUsers)}
isExpanded={isExpandedUsers} isExpanded={isExpandedUsers}
isIndented isIndented
data-testid="users-expandable" data-testid='users-expandable'
> >
<UsersList /> <UsersList />
</ExpandableSection> </ExpandableSection>
@ -404,7 +404,7 @@ const Review = () => {
} }
isExpanded={isExpandedTimezone} isExpanded={isExpandedTimezone}
isIndented isIndented
data-testid="timezone-expandable" data-testid='timezone-expandable'
> >
<TimezoneList /> <TimezoneList />
</ExpandableSection> </ExpandableSection>
@ -422,7 +422,7 @@ const Review = () => {
} }
isExpanded={isExpandedLocale} isExpanded={isExpandedLocale}
isIndented isIndented
data-testid="locale-expandable" data-testid='locale-expandable'
> >
<LocaleList /> <LocaleList />
</ExpandableSection> </ExpandableSection>
@ -439,7 +439,7 @@ const Review = () => {
} }
isExpanded={isExpandedHostname} isExpanded={isExpandedHostname}
isIndented isIndented
data-testid="hostname-expandable" data-testid='hostname-expandable'
> >
<HostnameList /> <HostnameList />
</ExpandableSection> </ExpandableSection>
@ -456,7 +456,7 @@ const Review = () => {
} }
isExpanded={isExpandedKernel} isExpanded={isExpandedKernel}
isIndented isIndented
data-testid="kernel-expandable" data-testid='kernel-expandable'
> >
<KernelList /> <KernelList />
</ExpandableSection> </ExpandableSection>
@ -475,7 +475,7 @@ const Review = () => {
} }
isExpanded={isExpandedFirewall} isExpanded={isExpandedFirewall}
isIndented isIndented
data-testid="firewall-expandable" data-testid='firewall-expandable'
> >
<FirewallList /> <FirewallList />
</ExpandableSection> </ExpandableSection>
@ -494,7 +494,7 @@ const Review = () => {
} }
isExpanded={isExpandedServices} isExpanded={isExpandedServices}
isIndented isIndented
data-testid="services-expandable" data-testid='services-expandable'
> >
<ServicesList /> <ServicesList />
</ExpandableSection> </ExpandableSection>
@ -510,7 +510,7 @@ const Review = () => {
} }
isExpanded={isExpandableFirstBoot} isExpanded={isExpandableFirstBoot}
isIndented isIndented
data-testid="firstboot-expandable" data-testid='firstboot-expandable'
> >
<FirstBootList /> <FirstBootList />
</ExpandableSection> </ExpandableSection>
@ -526,7 +526,7 @@ const Review = () => {
} }
isExpanded={isExpandedImageDetail} isExpanded={isExpandedImageDetail}
isIndented isIndented
data-testid="image-details-expandable" data-testid='image-details-expandable'
> >
<DetailsList /> <DetailsList />
</ExpandableSection> </ExpandableSection>

View file

@ -46,10 +46,10 @@ const RepoName = ({ repoUuid }: repoPropType) => {
const errorLoading = () => { const errorLoading = () => {
return ( return (
<Alert <Alert
variant="danger" variant='danger'
isInline isInline
isPlain isPlain
title="Error loading repository name" title='Error loading repository name'
/> />
); );
}; };
@ -67,7 +67,7 @@ const RepoName = ({ repoUuid }: repoPropType) => {
*/} */}
{isSuccess && data?.data?.[0]?.name && <p>{data.data[0].name}</p>} {isSuccess && data?.data?.[0]?.name && <p>{data.data[0].name}</p>}
{isSuccess && !data?.data?.[0]?.name && errorLoading()} {isSuccess && !data?.data?.[0]?.name && errorLoading()}
{isFetching && <Spinner size="md" />} {isFetching && <Spinner size='md' />}
{isError && errorLoading()} {isError && errorLoading()}
</> </>
); );
@ -77,8 +77,8 @@ export const FSReviewTable = () => {
const partitions = useAppSelector(selectPartitions); const partitions = useAppSelector(selectPartitions);
return ( return (
<Panel isScrollable> <Panel isScrollable>
<PanelMain maxHeight="30ch"> <PanelMain maxHeight='30ch'>
<Table aria-label="File system configuration table" variant="compact"> <Table aria-label='File system configuration table' variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th>Mount point</Th> <Th>Mount point</Th>
@ -89,9 +89,9 @@ export const FSReviewTable = () => {
<Tbody> <Tbody>
{partitions.map((partition, partitionIndex) => ( {partitions.map((partition, partitionIndex) => (
<Tr key={partitionIndex}> <Tr key={partitionIndex}>
<Td className="pf-m-width-30">{partition.mountpoint}</Td> <Td className='pf-m-width-30'>{partition.mountpoint}</Td>
<Td className="pf-m-width-30">xfs</Td> <Td className='pf-m-width-30'>xfs</Td>
<Td className="pf-m-width-30"> <Td className='pf-m-width-30'>
{parseInt(partition.min_size).toString()} {partition.unit} {parseInt(partition.min_size).toString()} {partition.unit}
</Td> </Td>
</Tr> </Tr>
@ -105,7 +105,7 @@ export const FSReviewTable = () => {
const Error = () => { const Error = () => {
return ( return (
<Alert title="Repositories unavailable" variant="danger" isPlain isInline> <Alert title='Repositories unavailable' variant='danger' isPlain isInline>
Repositories cannot be reached, try again later. Repositories cannot be reached, try again later.
</Alert> </Alert>
); );
@ -114,9 +114,9 @@ const Error = () => {
const Loading = () => { const Loading = () => {
return ( return (
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
icon={Spinner} icon={Spinner}
titleText="Loading" titleText='Loading'
></EmptyState> ></EmptyState>
); );
}; };
@ -164,8 +164,8 @@ export const SnapshotTable = ({
(isLoading && <Loading />) || (isLoading && <Loading />) ||
(isSuccess && ( (isSuccess && (
<Panel isScrollable> <Panel isScrollable>
<PanelMain maxHeight="30ch"> <PanelMain maxHeight='30ch'>
<Table aria-label="Packages table" variant="compact"> <Table aria-label='Packages table' variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th>Name</Th> <Th>Name</Th>
@ -184,7 +184,7 @@ export const SnapshotTable = ({
? stringToDateToMMDDYYYY(last_snapshot.created_at) ? stringToDateToMMDDYYYY(last_snapshot.created_at)
: 'N/A' : 'N/A'
} }
variant="warning" variant='warning'
isPlain isPlain
isInline isInline
/> />
@ -210,8 +210,8 @@ export const PackagesTable = () => {
return ( return (
<Panel isScrollable> <Panel isScrollable>
<PanelMain maxHeight="30ch"> <PanelMain maxHeight='30ch'>
<Table aria-label="Packages table" variant="compact"> <Table aria-label='Packages table' variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th>Name</Th> <Th>Name</Th>
@ -248,8 +248,8 @@ export const RepositoriesTable = () => {
); );
return ( return (
<Panel isScrollable> <Panel isScrollable>
<PanelMain maxHeight="30ch"> <PanelMain maxHeight='30ch'>
<Table aria-label="Custom repositories table" variant="compact"> <Table aria-label='Custom repositories table' variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th>Name</Th> <Th>Name</Th>
@ -258,14 +258,14 @@ export const RepositoriesTable = () => {
<Tbody> <Tbody>
{repositoriesList.map((repo, repoIndex) => ( {repositoriesList.map((repo, repoIndex) => (
<Tr key={repoIndex + 1}> <Tr key={repoIndex + 1}>
<Td className="pf-m-width-60"> <Td className='pf-m-width-60'>
<RepoName repoUuid={repo.id} /> <RepoName repoUuid={repo.id} />
</Td> </Td>
</Tr> </Tr>
))} ))}
{recommendedRepositoriesList.length > 0 && ( {recommendedRepositoriesList.length > 0 && (
<Tr key={0}> <Tr key={0}>
<Td className="pf-m-width-60"> <Td className='pf-m-width-60'>
EPEL {getEpelVersionForDistribution(distribution)} Everything EPEL {getEpelVersionForDistribution(distribution)} Everything
x86_64 x86_64
</Td> </Td>

View file

@ -92,8 +92,8 @@ import ActivationKeyInformation from '../Registration/components/ActivationKeyIn
const ExpirationWarning = () => { const ExpirationWarning = () => {
return ( return (
<Content className="pf-v6-u-font-size-sm pf-v6-u-text-color-status-warning"> <Content className='pf-v6-u-font-size-sm pf-v6-u-text-color-status-warning'>
<Icon status="warning" isInline> <Icon status='warning' isInline>
<ExclamationTriangleIcon /> <ExclamationTriangleIcon />
</Icon>{' '} </Icon>{' '}
Expires 14 days after creation Expires 14 days after creation
@ -110,7 +110,7 @@ export const ImageOutputList = () => {
<Content> <Content>
{(distribution === RHEL_8 || distribution === RHEL_9) && ( {(distribution === RHEL_8 || distribution === RHEL_9) && (
<> <>
<Content component="p" className="pf-v6-u-font-size-sm"> <Content component='p' className='pf-v6-u-font-size-sm'>
{RELEASES.get(distribution)} will be supported through{' '} {RELEASES.get(distribution)} will be supported through{' '}
{toMonthAndYear( {toMonthAndYear(
distribution === RHEL_8 distribution === RHEL_8
@ -126,20 +126,20 @@ export const ImageOutputList = () => {
. Consider building an image with {RELEASES.get(RHEL_10)} to extend . Consider building an image with {RELEASES.get(RHEL_10)} to extend
the support period. the support period.
</Content> </Content>
<FormGroup label="Release lifecycle"> <FormGroup label='Release lifecycle'>
<MajorReleasesLifecyclesChart /> <MajorReleasesLifecyclesChart />
</FormGroup> </FormGroup>
<br /> <br />
</> </>
)} )}
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Release Release
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
{releases.get(distribution)} {releases.get(distribution)}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Architecture Architecture
</Content> </Content>
<Content component={ContentVariants.dd}>{arch}</Content> <Content component={ContentVariants.dd}>{arch}</Content>
@ -155,8 +155,8 @@ export const FSCList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Configuration type Configuration type
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -165,17 +165,17 @@ export const FSCList = () => {
<> <>
{' '} {' '}
<Popover <Popover
position="bottom" position='bottom'
headerContent="Partitions" headerContent='Partitions'
hasAutoWidth hasAutoWidth
minWidth="30rem" minWidth='30rem'
bodyContent={<FSReviewTable />} bodyContent={<FSReviewTable />}
> >
<Button <Button
variant="link" variant='link'
aria-label="File system configuration info" aria-label='File system configuration info'
aria-describedby="file-system-configuration-info" aria-describedby='file-system-configuration-info'
className="pf-v6-u-pt-0 pf-v6-u-pb-0" className='pf-v6-u-pt-0 pf-v6-u-pb-0'
> >
View partitions View partitions
</Button> </Button>
@ -241,8 +241,8 @@ export const TargetEnvAWSList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.h3}>{targetOptions.aws}</Content> <Content component={ContentVariants.h3}>{targetOptions.aws}</Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Image type Image type
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -250,17 +250,17 @@ export const TargetEnvAWSList = () => {
<br /> <br />
<ExpirationWarning /> <ExpirationWarning />
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Shared to account Shared to account
</Content> </Content>
<Content component={ContentVariants.dd}>{awsAccountId}</Content> <Content component={ContentVariants.dd}>{awsAccountId}</Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
{awsShareMethod === 'sources' ? 'Source' : null} {awsShareMethod === 'sources' ? 'Source' : null}
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
{isSuccess && awsShareMethod === 'sources' ? source?.name : null} {isSuccess && awsShareMethod === 'sources' ? source?.name : null}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Default region Default region
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -278,8 +278,8 @@ export const TargetEnvGCPList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.h3}>{targetOptions.gcp}</Content> <Content component={ContentVariants.h3}>{targetOptions.gcp}</Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Image type Image type
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -292,7 +292,7 @@ export const TargetEnvGCPList = () => {
<> <>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Shared with Shared with
</Content> </Content>
@ -305,7 +305,7 @@ export const TargetEnvGCPList = () => {
<> <>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Account type Account type
</Content> </Content>
@ -320,7 +320,7 @@ export const TargetEnvGCPList = () => {
</Content> </Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
{accountType === 'domain' ? 'Domain' : 'Principal'} {accountType === 'domain' ? 'Domain' : 'Principal'}
</Content> </Content>
@ -347,8 +347,8 @@ export const TargetEnvAzureList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.h3}>{targetOptions.azure}</Content> <Content component={ContentVariants.h3}>{targetOptions.azure}</Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Image type Image type
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -360,7 +360,7 @@ export const TargetEnvAzureList = () => {
<> <>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Azure Source Azure Source
</Content> </Content>
@ -377,14 +377,14 @@ export const TargetEnvAzureList = () => {
<> <>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Azure tenant ID Azure tenant ID
</Content> </Content>
<Content component={ContentVariants.dd}>{tenantId}</Content> <Content component={ContentVariants.dd}>{tenantId}</Content>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Subscription ID Subscription ID
</Content> </Content>
@ -402,8 +402,8 @@ export const TargetEnvOciList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.h3}>{targetOptions.oci}</Content> <Content component={ContentVariants.h3}>{targetOptions.oci}</Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Object Storage URL Object Storage URL
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -417,8 +417,8 @@ export const TargetEnvOciList = () => {
export const TargetEnvOtherList = () => { export const TargetEnvOtherList = () => {
return ( return (
<> <>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Image type Image type
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -505,17 +505,17 @@ export const ContentList = () => {
return ( return (
<> <>
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<> <>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Repeatable build Repeatable build
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
<Popover <Popover
position="bottom" position='bottom'
headerContent={ headerContent={
useLatest useLatest
? 'Use the latest repository content' ? 'Use the latest repository content'
@ -526,16 +526,16 @@ export const ContentList = () => {
)}` )}`
} }
hasAutoWidth hasAutoWidth
minWidth="60rem" minWidth='60rem'
bodyContent={ bodyContent={
<SnapshotTable snapshotForDate={data?.data || []} /> <SnapshotTable snapshotForDate={data?.data || []} />
} }
> >
<Button <Button
variant="link" variant='link'
isInline isInline
aria-label="Snapshot method" aria-label='Snapshot method'
className="popover-button pf-v6-u-p-0" className='popover-button pf-v6-u-p-0'
isDisabled={noRepositoriesSelected || isLoading || isError} isDisabled={noRepositoriesSelected || isLoading || isError}
isLoading={isLoading} isLoading={isLoading}
> >
@ -544,32 +544,32 @@ export const ContentList = () => {
</Popover> </Popover>
{!useLatest && !isLoading && isSuccess && hasSnapshotDateAfter ? ( {!useLatest && !isLoading && isSuccess && hasSnapshotDateAfter ? (
<Alert <Alert
variant="warning" variant='warning'
isInline isInline
isPlain isPlain
title="A snapshot for this date is not available for some repositories." title='A snapshot for this date is not available for some repositories.'
/> />
) : ( ) : (
'' ''
)} )}
</Content> </Content>
</> </>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Custom repositories Custom repositories
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
{customRepositories?.length + recommendedRepositories.length > 0 ? ( {customRepositories?.length + recommendedRepositories.length > 0 ? (
<Popover <Popover
position="bottom" position='bottom'
headerContent="Custom repositories" headerContent='Custom repositories'
hasAutoWidth hasAutoWidth
minWidth="30rem" minWidth='30rem'
bodyContent={<RepositoriesTable />} bodyContent={<RepositoriesTable />}
> >
<Button <Button
variant="link" variant='link'
aria-label="About custom repositories" aria-label='About custom repositories'
className="popover-button pf-v6-u-p-0" className='popover-button pf-v6-u-p-0'
> >
{customRepositories?.length + {customRepositories?.length +
recommendedRepositories.length || 0} recommendedRepositories.length || 0}
@ -579,22 +579,22 @@ export const ContentList = () => {
0 0
)} )}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Additional packages Additional packages
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
{packages?.length > 0 || groups?.length > 0 ? ( {packages?.length > 0 || groups?.length > 0 ? (
<Popover <Popover
position="bottom" position='bottom'
headerContent="Additional packages" headerContent='Additional packages'
hasAutoWidth hasAutoWidth
minWidth="60rem" minWidth='60rem'
bodyContent={<PackagesTable />} bodyContent={<PackagesTable />}
> >
<Button <Button
variant="link" variant='link'
aria-label="About packages" aria-label='About packages'
className="popover-button pf-v6-u-p-0" className='popover-button pf-v6-u-p-0'
> >
{packages?.length + groups?.length} {packages?.length + groups?.length}
</Button> </Button>
@ -607,8 +607,8 @@ export const ContentList = () => {
</Content> </Content>
{duplicatePackages.length > 0 && ( {duplicatePackages.length > 0 && (
<Alert <Alert
title="Can not guarantee where some selected packages will come from" title='Can not guarantee where some selected packages will come from'
variant="warning" variant='warning'
isInline isInline
> >
Some of the packages added to this image belong to multiple added Some of the packages added to this image belong to multiple added
@ -623,8 +623,8 @@ export const ContentList = () => {
export const RegisterLaterList = () => { export const RegisterLaterList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Registration type Registration type
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -638,8 +638,8 @@ export const RegisterLaterList = () => {
export const RegisterSatelliteList = () => { export const RegisterSatelliteList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Register Satellite Register Satellite
</Content> </Content>
<Content component={ContentVariants.dd}>Enabled</Content> <Content component={ContentVariants.dd}>Enabled</Content>
@ -662,37 +662,37 @@ export const RegisterNowList = () => {
return ( return (
<> <>
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Registration type Registration type
</Content> </Content>
<Content <Content
component={ContentVariants.dd} component={ContentVariants.dd}
data-testid="review-registration" data-testid='review-registration'
> >
<Content component="ul" isPlainList> <Content component='ul' isPlainList>
{registrationType?.startsWith('register-now') && ( {registrationType?.startsWith('register-now') && (
<Content component="li"> <Content component='li'>
Register with Red Hat Subscription Manager (RHSM) Register with Red Hat Subscription Manager (RHSM)
<br /> <br />
</Content> </Content>
)} )}
{(registrationType === 'register-now-insights' || {(registrationType === 'register-now-insights' ||
registrationType === 'register-now-rhc') && ( registrationType === 'register-now-rhc') && (
<Content component="li"> <Content component='li'>
Connect to Red Hat Insights Connect to Red Hat Insights
<br /> <br />
</Content> </Content>
)} )}
{registrationType === 'register-now-rhc' && ( {registrationType === 'register-now-rhc' && (
<Content component="li"> <Content component='li'>
Use remote host configuration (rhc) utility Use remote host configuration (rhc) utility
<br /> <br />
</Content> </Content>
)} )}
</Content> </Content>
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Activation key Activation key
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -702,8 +702,8 @@ export const RegisterNowList = () => {
</Content> </Content>
{isError && ( {isError && (
<Alert <Alert
title="Information about the activation key unavailable" title='Information about the activation key unavailable'
variant="danger" variant='danger'
isPlain isPlain
isInline isInline
> >
@ -721,12 +721,12 @@ export const DetailsList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
{blueprintName && ( {blueprintName && (
<> <>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Blueprint name Blueprint name
</Content> </Content>
@ -737,7 +737,7 @@ export const DetailsList = () => {
<> <>
<Content <Content
component={ContentVariants.dt} component={ContentVariants.dt}
className="pf-v6-u-min-width" className='pf-v6-u-min-width'
> >
Description Description
</Content> </Content>
@ -761,14 +761,14 @@ export const TimezoneList = () => {
return ( return (
<> <>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Timezone Timezone
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
{timezone ? timezone : 'None'} {timezone ? timezone : 'None'}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
NTP servers NTP servers
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -788,30 +788,30 @@ export const UsersList = () => {
<Content <Content
key={user.name} key={user.name}
component={ContentVariants.dl} component={ContentVariants.dl}
className="review-step-dl" className='review-step-dl'
> >
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Username Username
</Content> </Content>
<Content component={ContentVariants.dd} className="pf-v6-u-min-width"> <Content component={ContentVariants.dd} className='pf-v6-u-min-width'>
{user.name ? user.name : 'None'} {user.name ? user.name : 'None'}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Password Password
</Content> </Content>
<Content component={ContentVariants.dd} className="pf-v6-u-min-width"> <Content component={ContentVariants.dd} className='pf-v6-u-min-width'>
{user.password || user.hasPassword ? '●'.repeat(8) : 'None'} {user.password || user.hasPassword ? '●'.repeat(8) : 'None'}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
SSH key SSH key
</Content> </Content>
<Content component={ContentVariants.dd} className="pf-v6-u-min-width"> <Content component={ContentVariants.dd} className='pf-v6-u-min-width'>
{user.ssh_key ? user.ssh_key : 'None'} {user.ssh_key ? user.ssh_key : 'None'}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Administrator Administrator
</Content> </Content>
<Content component={ContentVariants.dd} className="pf-v6-u-min-width"> <Content component={ContentVariants.dd} className='pf-v6-u-min-width'>
{user.isAdministrator ? 'True' : 'False'} {user.isAdministrator ? 'True' : 'False'}
</Content> </Content>
</Content> </Content>
@ -826,14 +826,14 @@ export const LocaleList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Languages Languages
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
{languages && languages.length > 0 ? languages.join(', ') : 'None'} {languages && languages.length > 0 ? languages.join(', ') : 'None'}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Keyboard Keyboard
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -849,8 +849,8 @@ export const HostnameList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Hostname Hostname
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -866,14 +866,14 @@ export const KernelList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Name Name
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
{kernel.name ? kernel.name : 'None'} {kernel.name ? kernel.name : 'None'}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Append Append
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -895,8 +895,8 @@ export const FirewallList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Ports Ports
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -908,7 +908,7 @@ export const FirewallList = () => {
'None' 'None'
)} )}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Enabled services Enabled services
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -922,7 +922,7 @@ export const FirewallList = () => {
'None' 'None'
)} )}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Disabled services Disabled services
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -946,8 +946,8 @@ export const ServicesList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Enabled Enabled
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -959,7 +959,7 @@ export const ServicesList = () => {
'None' 'None'
)} )}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Disabled Disabled
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -971,7 +971,7 @@ export const ServicesList = () => {
'None' 'None'
)} )}
</Content> </Content>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
Masked Masked
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>
@ -993,8 +993,8 @@ export const FirstBootList = () => {
return ( return (
<Content> <Content>
<Content component={ContentVariants.dl} className="review-step-dl"> <Content component={ContentVariants.dl} className='review-step-dl'>
<Content component={ContentVariants.dt} className="pf-v6-u-min-width"> <Content component={ContentVariants.dt} className='pf-v6-u-min-width'>
First boot script First boot script
</Content> </Content>
<Content component={ContentVariants.dd}> <Content component={ContentVariants.dd}>

View file

@ -16,7 +16,7 @@ const ReviewStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Review {blueprintName} blueprint Review {blueprintName} blueprint
</Title> </Title>
{blueprintDescription && <Content>{blueprintDescription}</Content>} {blueprintDescription && <Content>{blueprintDescription}</Content>}

View file

@ -54,56 +54,56 @@ const ServicesInput = () => {
return ( return (
<> <>
<FormGroup isRequired={false} label="Enabled services"> <FormGroup isRequired={false} label='Enabled services'>
<LabelInput <LabelInput
ariaLabel="Add enabled service" ariaLabel='Add enabled service'
placeholder="Add enabled service" placeholder='Add enabled service'
validator={isServiceValid} validator={isServiceValid}
list={enabledServices.filter( list={enabledServices.filter(
(service) => !enabledRequiredByOpenSCAP.includes(service), (service) => !enabledRequiredByOpenSCAP.includes(service),
)} )}
requiredList={enabledRequiredByOpenSCAP} requiredList={enabledRequiredByOpenSCAP}
requiredCategoryName="Required by OpenSCAP" requiredCategoryName='Required by OpenSCAP'
item="Enabled service" item='Enabled service'
addAction={addEnabledService} addAction={addEnabledService}
removeAction={removeEnabledService} removeAction={removeEnabledService}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="enabledSystemdServices" fieldName='enabledSystemdServices'
/> />
</FormGroup> </FormGroup>
<FormGroup isRequired={false} label="Disabled services"> <FormGroup isRequired={false} label='Disabled services'>
<LabelInput <LabelInput
ariaLabel="Add disabled service" ariaLabel='Add disabled service'
placeholder="Add disabled service" placeholder='Add disabled service'
validator={isServiceValid} validator={isServiceValid}
list={disabledServices.filter( list={disabledServices.filter(
(service) => (service) =>
!oscapProfileInfo?.services?.disabled?.includes(service), !oscapProfileInfo?.services?.disabled?.includes(service),
)} )}
requiredList={disabledRequiredByOpenSCAP} requiredList={disabledRequiredByOpenSCAP}
requiredCategoryName="Required by OpenSCAP" requiredCategoryName='Required by OpenSCAP'
item="Disabled service" item='Disabled service'
addAction={addDisabledService} addAction={addDisabledService}
removeAction={removeDisabledService} removeAction={removeDisabledService}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="disabledSystemdServices" fieldName='disabledSystemdServices'
/> />
</FormGroup> </FormGroup>
<FormGroup isRequired={false} label="Masked services"> <FormGroup isRequired={false} label='Masked services'>
<LabelInput <LabelInput
ariaLabel="Add masked service" ariaLabel='Add masked service'
placeholder="Add masked service" placeholder='Add masked service'
validator={isServiceValid} validator={isServiceValid}
list={maskedServices.filter( list={maskedServices.filter(
(service) => !oscapProfileInfo?.services?.masked?.includes(service), (service) => !oscapProfileInfo?.services?.masked?.includes(service),
)} )}
requiredList={maskedRequiredByOpenSCAP} requiredList={maskedRequiredByOpenSCAP}
requiredCategoryName="Required by OpenSCAP" requiredCategoryName='Required by OpenSCAP'
item="Masked service" item='Masked service'
addAction={addMaskedService} addAction={addMaskedService}
removeAction={removeMaskedService} removeAction={removeMaskedService}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="maskedSystemdServices" fieldName='maskedSystemdServices'
/> />
</FormGroup> </FormGroup>
</> </>

View file

@ -7,7 +7,7 @@ import ServicesInput from './components/ServicesInputs';
const ServicesStep = () => { const ServicesStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Systemd services Systemd services
</Title> </Title>
<Content>Enable, disable and mask systemd services.</Content> <Content>Enable, disable and mask systemd services.</Content>

View file

@ -63,28 +63,28 @@ export default function Snapshot() {
<> <>
<FormGroup> <FormGroup>
<Radio <Radio
id="use latest snapshot radio" id='use latest snapshot radio'
name="use-latest-snapshot" name='use-latest-snapshot'
label="Disable repeatable build" label='Disable repeatable build'
description="Use the newest repository content available when building this image" description='Use the newest repository content available when building this image'
isChecked={selectedOption === 'latest'} isChecked={selectedOption === 'latest'}
onChange={() => handleOptionChange('latest')} onChange={() => handleOptionChange('latest')}
/> />
<Radio <Radio
id="use snapshot date radio" id='use snapshot date radio'
name="use-snapshot-date" name='use-snapshot-date'
label="Enable repeatable build" label='Enable repeatable build'
description="Build this image with the repository content of a selected date" description='Build this image with the repository content of a selected date'
isChecked={selectedOption === 'snapshotDate'} isChecked={selectedOption === 'snapshotDate'}
onChange={() => handleOptionChange('snapshotDate')} onChange={() => handleOptionChange('snapshotDate')}
/> />
{isTemplatesEnabled ? ( {isTemplatesEnabled ? (
<Radio <Radio
id="use content template radio" id='use content template radio'
ouiaId="use-content-template-radio" ouiaId='use-content-template-radio'
name="use-content-template" name='use-content-template'
label="Use a content template" label='Use a content template'
description="Select a content template and build this image with repository snapshots included in that template" description='Select a content template and build this image with repository snapshots included in that template'
isChecked={selectedOption === 'template'} isChecked={selectedOption === 'template'}
onChange={() => handleOptionChange('template')} onChange={() => handleOptionChange('template')}
/> />
@ -95,7 +95,7 @@ export default function Snapshot() {
{selectedOption === 'latest' ? ( {selectedOption === 'latest' ? (
<> <>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Use latest content Use latest content
</Title> </Title>
<Grid> <Grid>
@ -107,21 +107,21 @@ export default function Snapshot() {
</> </>
) : selectedOption === 'snapshotDate' ? ( ) : selectedOption === 'snapshotDate' ? (
<> <>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Use a snapshot Use a snapshot
</Title> </Title>
<FormGroup label="Select snapshot date" isRequired> <FormGroup label='Select snapshot date' isRequired>
<Flex <Flex
direction={{ default: 'row' }} direction={{ default: 'row' }}
alignContent={{ default: 'alignContentCenter' }} alignContent={{ default: 'alignContentCenter' }}
> >
<DatePicker <DatePicker
id="snapshot-date-picker" id='snapshot-date-picker'
name="pick-snapshot-date" name='pick-snapshot-date'
value={snapshotDate ? snapshotDate.split('T')[0] : ''} value={snapshotDate ? snapshotDate.split('T')[0] : ''}
required required
requiredDateOptions={{ isRequired: true }} requiredDateOptions={{ isRequired: true }}
placeholder="YYYY-MM-DD" placeholder='YYYY-MM-DD'
validators={[ validators={[
(date: Date) => { (date: Date) => {
if (!isSnapshotDateValid(date)) { if (!isSnapshotDateValid(date)) {
@ -134,7 +134,7 @@ export default function Snapshot() {
/> />
<Button <Button
variant="link" variant='link'
onClick={async () => { onClick={async () => {
//Patternfly DatePicker seems to only clear error text if value is reset to '', //Patternfly DatePicker seems to only clear error text if value is reset to '',
// if you have an invalid date (2000-01-010000) and try to reset it, it must be set to '' first // if you have an invalid date (2000-01-010000) and try to reset it, it must be set to '' first
@ -154,7 +154,7 @@ export default function Snapshot() {
</> </>
) : isTemplatesEnabled && selectedOption === 'template' ? ( ) : isTemplatesEnabled && selectedOption === 'template' ? (
<> <>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Use a content template Use a content template
</Title> </Title>
<Templates /> <Templates />

View file

@ -86,7 +86,7 @@ const Templates = () => {
<Panel> <Panel>
{templateList.length > 0 ? ( {templateList.length > 0 ? (
<Button <Button
variant="primary" variant='primary'
isInline isInline
onClick={() => refresh()} onClick={() => refresh()}
isLoading={isFetching} isLoading={isFetching}
@ -109,10 +109,10 @@ const Templates = () => {
onPerPageSelect={handlePerPageSelect} onPerPageSelect={handlePerPageSelect}
isCompact isCompact
/> />
<Table variant="compact"> <Table variant='compact'>
<Thead> <Thead>
<Tr> <Tr>
<Th aria-label="Selected" /> <Th aria-label='Selected' />
<Th width={15}>Name</Th> <Th width={15}>Name</Th>
<Th width={50}>Description</Th> <Th width={50}>Description</Th>
<Th width={15}>Snapshot date</Th> <Th width={15}>Snapshot date</Th>

View file

@ -19,9 +19,9 @@ const TemplatesEmpty = ({ refetch }: TemplatesEmptyProps) => {
const GoToTemplatesButton = () => { const GoToTemplatesButton = () => {
return ( return (
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
href={TEMPLATES_URL} href={TEMPLATES_URL}
> >
@ -32,7 +32,7 @@ const TemplatesEmpty = ({ refetch }: TemplatesEmptyProps) => {
return ( return (
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
titleText={'No content templates'} titleText={'No content templates'}
variant={EmptyStateVariant.lg} variant={EmptyStateVariant.lg}
> >
@ -42,7 +42,7 @@ const TemplatesEmpty = ({ refetch }: TemplatesEmptyProps) => {
</EmptyStateBody> </EmptyStateBody>
<EmptyStateFooter> <EmptyStateFooter>
<GoToTemplatesButton /> <GoToTemplatesButton />
<Button variant="secondary" isInline onClick={() => refetch()}> <Button variant='secondary' isInline onClick={() => refetch()}>
Refresh Refresh
</Button> </Button>
</EmptyStateFooter> </EmptyStateFooter>

View file

@ -9,7 +9,7 @@ import ManageRepositoriesButton from '../Repositories/components/ManageRepositor
export default function SnapshotStep() { export default function SnapshotStep() {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Repeatable build Repeatable build
</Title> </Title>
<Content> <Content>

View file

@ -32,17 +32,17 @@ export const AwsAccountId = () => {
return ( return (
<> <>
<FormGroup label="Associated account ID" isRequired> <FormGroup label='Associated account ID' isRequired>
<TextInput <TextInput
readOnlyVariant="default" readOnlyVariant='default'
isRequired isRequired
id="aws-account-id" id='aws-account-id'
value={sourceId && data ? (data.aws?.account_id ?? '') : ''} value={sourceId && data ? (data.aws?.account_id ?? '') : ''}
aria-label="aws account id" aria-label='aws account id'
/> />
</FormGroup> </FormGroup>
<HelperText> <HelperText>
<HelperTextItem component="div" variant="default"> <HelperTextItem component='div' variant='default'>
This is the account associated with the source. This is the account associated with the source.
</HelperTextItem> </HelperTextItem>
</HelperText> </HelperText>

View file

@ -120,15 +120,15 @@ export const AwsSourcesSelect = () => {
if (isFetching) { if (isFetching) {
selectOptionsElement.push( selectOptionsElement.push(
<SelectOption key="fetching" value="loader"> <SelectOption key='fetching' value='loader'>
<Spinner size="lg" /> <Spinner size='lg' />
</SelectOption>, </SelectOption>,
); );
} }
if (isSuccess && selectOptions.length === 0) { if (isSuccess && selectOptions.length === 0) {
selectOptionsElement.push( selectOptionsElement.push(
<SelectOption key="no_results" value="no_results" isDisabled> <SelectOption key='no_results' value='no_results' isDisabled>
No results found No results found
</SelectOption>, </SelectOption>,
); );
@ -140,7 +140,7 @@ export const AwsSourcesSelect = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={handleToggle} onClick={handleToggle}
isExpanded={isOpen} isExpanded={isOpen}
isDisabled={!isSuccess || isLoading} isDisabled={!isSuccess || isLoading}
@ -150,8 +150,8 @@ export const AwsSourcesSelect = () => {
value={chosenSource?.name ? chosenSource.name : inputValue} value={chosenSource?.name ? chosenSource.name : inputValue}
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select source" placeholder='Select source'
isExpanded={isOpen} isExpanded={isOpen}
/> />
@ -159,9 +159,9 @@ export const AwsSourcesSelect = () => {
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={handleClear} onClick={handleClear}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -171,7 +171,7 @@ export const AwsSourcesSelect = () => {
return ( return (
<> <>
<FormGroup isRequired label={'Source name'} data-testid="sources"> <FormGroup isRequired label={'Source name'} data-testid='sources'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}

View file

@ -41,11 +41,11 @@ export type AwsShareMethod = 'manual' | 'sources';
const SourcesButton = () => { const SourcesButton = () => {
return ( return (
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={'settings/sources'} href={'settings/sources'}
> >
@ -111,7 +111,7 @@ const Aws = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Target environment - Amazon Web Services Target environment - Amazon Web Services
</Title> </Title>
<Content> <Content>
@ -125,12 +125,12 @@ const Aws = () => {
access the image, copy the image, which will be shared to your access the image, copy the image, which will be shared to your
account by Red Hat, to your own AWS account. account by Red Hat, to your own AWS account.
</Content> </Content>
<FormGroup label="Share method:"> <FormGroup label='Share method:'>
<Radio <Radio
id="radio-with-description" id='radio-with-description'
label="Use an account configured from Sources." label='Use an account configured from Sources.'
name="radio-7" name='radio-7'
description="Use a configured source to launch environments directly from the console." description='Use a configured source to launch environments directly from the console.'
isChecked={shareMethod === 'sources'} isChecked={shareMethod === 'sources'}
onChange={() => { onChange={() => {
dispatch(changeAwsSourceId(undefined)); dispatch(changeAwsSourceId(undefined));
@ -140,9 +140,9 @@ const Aws = () => {
autoFocus autoFocus
/> />
<Radio <Radio
id="radio" id='radio'
label="Manually enter an account ID." label='Manually enter an account ID.'
name="radio-8" name='radio-8'
isChecked={shareMethod === 'manual'} isChecked={shareMethod === 'manual'}
onChange={() => { onChange={() => {
dispatch(changeAwsSourceId(undefined)); dispatch(changeAwsSourceId(undefined));
@ -160,16 +160,16 @@ const Aws = () => {
<SourcesButton /> <SourcesButton />
<Gallery hasGutter> <Gallery hasGutter>
<GalleryItem> <GalleryItem>
<FormGroup label="Default region" isRequired> <FormGroup label='Default region' isRequired>
<TextInput <TextInput
readOnlyVariant="default" readOnlyVariant='default'
isRequired isRequired
id="someid" id='someid'
value="us-east-1" value='us-east-1'
/> />
</FormGroup> </FormGroup>
<HelperText> <HelperText>
<HelperTextItem component="div" variant="default"> <HelperTextItem component='div' variant='default'>
Images are built in the default region but can be copied to Images are built in the default region but can be copied to
other regions later. other regions later.
</HelperTextItem> </HelperTextItem>
@ -184,25 +184,25 @@ const Aws = () => {
{shareMethod === 'manual' && ( {shareMethod === 'manual' && (
<> <>
{!process.env.IS_ON_PREMISE && ( {!process.env.IS_ON_PREMISE && (
<FormGroup label="AWS account ID" isRequired> <FormGroup label='AWS account ID' isRequired>
<ValidatedInput <ValidatedInput
ariaLabel="aws account id" ariaLabel='aws account id'
value={shareWithAccount || ''} value={shareWithAccount || ''}
validator={isAwsAccountIdValid} validator={isAwsAccountIdValid}
onChange={(_event, value) => onChange={(_event, value) =>
dispatch(changeAwsAccountId(value)) dispatch(changeAwsAccountId(value))
} }
helperText="Should be 12 characters long." helperText='Should be 12 characters long.'
/> />
</FormGroup> </FormGroup>
)} )}
<FormGroup label="Default region" isRequired> <FormGroup label='Default region' isRequired>
{!process.env.IS_ON_PREMISE && ( {!process.env.IS_ON_PREMISE && (
<TextInput <TextInput
value={'us-east-1'} value={'us-east-1'}
type="text" type='text'
aria-label="default region" aria-label='default region'
readOnlyVariant="default" readOnlyVariant='default'
/> />
)} )}
{process.env.IS_ON_PREMISE && ( {process.env.IS_ON_PREMISE && (

View file

@ -15,9 +15,9 @@ export const AzureAuthButton = () => {
return ( return (
<FormGroup> <FormGroup>
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="secondary" variant='secondary'
isDisabled={!guidRegex.test(tenantId)} isDisabled={!guidRegex.test(tenantId)}
href={ href={
'https://login.microsoftonline.com/' + 'https://login.microsoftonline.com/' +

View file

@ -31,16 +31,16 @@ export const AzureHyperVSelect = () => {
const selectOptions = [ const selectOptions = [
<SelectOption <SelectOption
key="V1" key='V1'
value="V1" value='V1'
description="Hyper V Generation 1 (BIOS)" description='Hyper V Generation 1 (BIOS)'
label="Hyper V Generation 1" label='Hyper V Generation 1'
/>, />,
<SelectOption <SelectOption
key="V2" key='V2'
value="V2" value='V2'
description="Hyper V Generation 2 (UEFI)" description='Hyper V Generation 2 (UEFI)'
label="Hyper V Generation 2" label='Hyper V Generation 2'
/>, />,
]; ];
@ -56,7 +56,7 @@ export const AzureHyperVSelect = () => {
return ( return (
<> <>
<FormGroup isRequired label="HyperV Generation"> <FormGroup isRequired label='HyperV Generation'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}

View file

@ -103,7 +103,7 @@ export const AzureResourceGroups = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={() => setIsOpen(!isOpen)} onClick={() => setIsOpen(!isOpen)}
isExpanded={isOpen} isExpanded={isOpen}
isDisabled={!azureSource} isDisabled={!azureSource}
@ -113,8 +113,8 @@ export const AzureResourceGroups = () => {
value={azureResourceGroup ? azureResourceGroup : inputValue} value={azureResourceGroup ? azureResourceGroup : inputValue}
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select resource group" placeholder='Select resource group'
isExpanded={isOpen} isExpanded={isOpen}
/> />
@ -122,9 +122,9 @@ export const AzureResourceGroups = () => {
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={handleClear} onClick={handleClear}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -146,8 +146,8 @@ export const AzureResourceGroups = () => {
> >
<SelectList> <SelectList>
{isFetching && ( {isFetching && (
<SelectOption value="loader"> <SelectOption value='loader'>
<Spinner size="lg" /> <Spinner size='lg' />
</SelectOption> </SelectOption>
)} )}
{selectOptions.length > 0 && {selectOptions.length > 0 &&

View file

@ -151,7 +151,7 @@ export const AzureSourcesSelect = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={handleToggle} onClick={handleToggle}
isExpanded={isOpen} isExpanded={isOpen}
isDisabled={!isSuccess} isDisabled={!isSuccess}
@ -161,8 +161,8 @@ export const AzureSourcesSelect = () => {
value={selectedSource ? selectedSource : inputValue} value={selectedSource ? selectedSource : inputValue}
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select source" placeholder='Select source'
isExpanded={isOpen} isExpanded={isOpen}
/> />
@ -170,9 +170,9 @@ export const AzureSourcesSelect = () => {
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={handleClear} onClick={handleClear}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -194,8 +194,8 @@ export const AzureSourcesSelect = () => {
> >
<SelectList> <SelectList>
{isFetching && ( {isFetching && (
<SelectOption key="loading" value="loader"> <SelectOption key='loading' value='loader'>
<Spinner size="lg" /> <Spinner size='lg' />
</SelectOption> </SelectOption>
)} )}
{selectOptions.length > 0 && {selectOptions.length > 0 &&

View file

@ -43,11 +43,11 @@ export type AzureShareMethod = 'manual' | 'sources';
const SourcesButton = () => { const SourcesButton = () => {
return ( return (
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={'settings/sources'} href={'settings/sources'}
> >
@ -65,7 +65,7 @@ const Azure = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Target environment - Microsoft Azure Target environment - Microsoft Azure
</Title> </Title>
<Content> <Content>
@ -81,11 +81,11 @@ const Azure = () => {
defining target by Source selection. defining target by Source selection.
<br /> <br />
<Button <Button
component="a" component='a'
target="_blank" target='_blank'
variant="link" variant='link'
icon={<ExternalLinkAltIcon />} icon={<ExternalLinkAltIcon />}
iconPosition="right" iconPosition='right'
isInline isInline
href={AZURE_AUTH_URL} href={AZURE_AUTH_URL}
> >
@ -93,12 +93,12 @@ const Azure = () => {
</Button> </Button>
</Content> </Content>
<AzureHyperVSelect /> <AzureHyperVSelect />
<FormGroup label="Share method:"> <FormGroup label='Share method:'>
<Radio <Radio
id="radio-with-description" id='radio-with-description'
label="Use an account configured from Sources." label='Use an account configured from Sources.'
name="radio-7" name='radio-7'
description="Use a configured source to launch environments directly from the console." description='Use a configured source to launch environments directly from the console.'
isChecked={shareMethod === 'sources'} isChecked={shareMethod === 'sources'}
onChange={() => { onChange={() => {
dispatch(changeAzureSource('')); dispatch(changeAzureSource(''));
@ -110,9 +110,9 @@ const Azure = () => {
autoFocus autoFocus
/> />
<Radio <Radio
id="radio" id='radio'
label="Manually enter the account information." label='Manually enter the account information.'
name="radio-8" name='radio-8'
isChecked={shareMethod === 'manual'} isChecked={shareMethod === 'manual'}
onChange={() => { onChange={() => {
dispatch(changeAzureSource('')); dispatch(changeAzureSource(''));
@ -129,24 +129,24 @@ const Azure = () => {
<SourcesButton /> <SourcesButton />
<Gallery hasGutter> <Gallery hasGutter>
<GalleryItem> <GalleryItem>
<FormGroup label="Azure tenant GUID" isRequired> <FormGroup label='Azure tenant GUID' isRequired>
<TextInput <TextInput
aria-label="Azure tenant GUID" aria-label='Azure tenant GUID'
readOnlyVariant="default" readOnlyVariant='default'
isRequired isRequired
id="tenant id" id='tenant id'
value={tenantId} value={tenantId}
/> />
</FormGroup> </FormGroup>
</GalleryItem> </GalleryItem>
<GalleryItem> <GalleryItem>
<FormGroup label="Subscription ID" isRequired> <FormGroup label='Subscription ID' isRequired>
<TextInput <TextInput
aria-label="Subscription ID" aria-label='Subscription ID'
label="Subscription ID" label='Subscription ID'
readOnlyVariant="default" readOnlyVariant='default'
isRequired isRequired
id="subscription id" id='subscription id'
value={subscriptionId} value={subscriptionId}
/> />
</FormGroup> </FormGroup>
@ -158,36 +158,36 @@ const Azure = () => {
)} )}
{shareMethod === 'manual' && ( {shareMethod === 'manual' && (
<> <>
<FormGroup label="Azure tenant GUID" isRequired> <FormGroup label='Azure tenant GUID' isRequired>
<ValidatedInput <ValidatedInput
ariaLabel="Azure tenant GUID" ariaLabel='Azure tenant GUID'
value={tenantId || ''} value={tenantId || ''}
validator={isAzureTenantGUIDValid} validator={isAzureTenantGUIDValid}
onChange={(_event, value) => dispatch(changeAzureTenantId(value))} onChange={(_event, value) => dispatch(changeAzureTenantId(value))}
helperText="Please enter a valid tenant ID" helperText='Please enter a valid tenant ID'
/> />
</FormGroup> </FormGroup>
<AzureAuthButton /> <AzureAuthButton />
<FormGroup label="Subscription ID" isRequired> <FormGroup label='Subscription ID' isRequired>
<ValidatedInput <ValidatedInput
ariaLabel="subscription id" ariaLabel='subscription id'
value={subscriptionId} value={subscriptionId}
validator={isAzureSubscriptionIdValid} validator={isAzureSubscriptionIdValid}
onChange={(_event, value) => onChange={(_event, value) =>
dispatch(changeAzureSubscriptionId(value)) dispatch(changeAzureSubscriptionId(value))
} }
helperText="Please enter a valid subscription ID" helperText='Please enter a valid subscription ID'
/> />
</FormGroup> </FormGroup>
<FormGroup label="Resource group" isRequired> <FormGroup label='Resource group' isRequired>
<ValidatedInput <ValidatedInput
ariaLabel="resource group" ariaLabel='resource group'
value={resourceGroup} value={resourceGroup}
validator={isAzureResourceGroupValid} validator={isAzureResourceGroupValid}
onChange={(_event, value) => onChange={(_event, value) =>
dispatch(changeAzureResourceGroup(value)) dispatch(changeAzureResourceGroup(value))
} }
helperText="Resource group names only allow alphanumeric characters, periods, underscores, hyphens, and parenthesis and cannot end in a period" helperText='Resource group names only allow alphanumeric characters, periods, underscores, hyphens, and parenthesis and cannot end in a period'
/> />
</FormGroup> </FormGroup>
</> </>

View file

@ -38,18 +38,18 @@ const Gcp = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Target environment - Google Cloud Platform Target environment - Google Cloud Platform
</Title> </Title>
<Content> <Content>
Select how to share your image. The image you create can be used to Select how to share your image. The image you create can be used to
launch instances on GCP, regardless of which method you select. launch instances on GCP, regardless of which method you select.
</Content> </Content>
<FormGroup label="Select image sharing" isRequired> <FormGroup label='Select image sharing' isRequired>
<Radio <Radio
id="share-with-google" id='share-with-google'
label="Share image with a Google account" label='Share image with a Google account'
name="radio-1" name='radio-1'
description={ description={
<Content component={ContentVariants.small}> <Content component={ContentVariants.small}>
Your image will be uploaded to GCP and shared with the account you Your image will be uploaded to GCP and shared with the account you
@ -65,9 +65,9 @@ const Gcp = () => {
autoFocus autoFocus
/> />
<Radio <Radio
id="share-with-insights" id='share-with-insights'
label="Share image with Red Hat Insights only" label='Share image with Red Hat Insights only'
name="radio-2" name='radio-2'
description={ description={
<Content component={ContentVariants.small}> <Content component={ContentVariants.small}>
Your image will be uploaded to GCP and shared with Red Hat Your image will be uploaded to GCP and shared with Red Hat
@ -84,38 +84,38 @@ const Gcp = () => {
</FormGroup> </FormGroup>
{shareMethod === 'withGoogle' && ( {shareMethod === 'withGoogle' && (
<> <>
<FormGroup label="Account type" isRequired> <FormGroup label='Account type' isRequired>
<Radio <Radio
id="google-account" id='google-account'
label="Google account" label='Google account'
name="radio-3" name='radio-3'
isChecked={accountType === 'user'} isChecked={accountType === 'user'}
onChange={() => { onChange={() => {
dispatch(changeGcpAccountType('user')); dispatch(changeGcpAccountType('user'));
}} }}
/> />
<Radio <Radio
id="service-account" id='service-account'
label="Service account" label='Service account'
name="radio-4" name='radio-4'
isChecked={accountType === 'serviceAccount'} isChecked={accountType === 'serviceAccount'}
onChange={() => { onChange={() => {
dispatch(changeGcpAccountType('serviceAccount')); dispatch(changeGcpAccountType('serviceAccount'));
}} }}
/> />
<Radio <Radio
id="google-group" id='google-group'
label="Google group" label='Google group'
name="radio-5" name='radio-5'
isChecked={accountType === 'group'} isChecked={accountType === 'group'}
onChange={() => { onChange={() => {
dispatch(changeGcpAccountType('group')); dispatch(changeGcpAccountType('group'));
}} }}
/> />
<Radio <Radio
id="google-domain" id='google-domain'
label="Google Workspace domain or Cloud Identity domain" label='Google Workspace domain or Cloud Identity domain'
name="radio-6" name='radio-6'
isChecked={accountType === 'domain'} isChecked={accountType === 'domain'}
onChange={() => { onChange={() => {
dispatch(changeGcpAccountType('domain')); dispatch(changeGcpAccountType('domain'));
@ -131,12 +131,12 @@ const Gcp = () => {
isRequired isRequired
> >
<ValidatedInput <ValidatedInput
ariaLabel="google principal" ariaLabel='google principal'
dataTestId="principal" dataTestId='principal'
value={gcpEmail || ''} value={gcpEmail || ''}
validator={isGcpEmailValid} validator={isGcpEmailValid}
onChange={(_event, value) => dispatch(changeGcpEmail(value))} onChange={(_event, value) => dispatch(changeGcpEmail(value))}
helperText="Please enter a valid e-mail address." helperText='Please enter a valid e-mail address.'
/> />
</FormGroup> </FormGroup>
</> </>

View file

@ -18,17 +18,17 @@ const NtpServersInput = () => {
const stepValidation = useTimezoneValidation(); const stepValidation = useTimezoneValidation();
return ( return (
<FormGroup isRequired={false} label="NTP servers"> <FormGroup isRequired={false} label='NTP servers'>
<LabelInput <LabelInput
ariaLabel="Add NTP server" ariaLabel='Add NTP server'
placeholder="Add NTP servers" placeholder='Add NTP servers'
validator={isNtpServerValid} validator={isNtpServerValid}
list={ntpServers} list={ntpServers}
item="NTP server" item='NTP server'
addAction={addNtpServer} addAction={addNtpServer}
removeAction={removeNtpServer} removeAction={removeNtpServer}
stepValidation={stepValidation} stepValidation={stepValidation}
fieldName="ntpServers" fieldName='ntpServers'
/> />
</FormGroup> </FormGroup>
); );

View file

@ -106,7 +106,7 @@ const TimezoneDropDown = () => {
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => ( const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle <MenuToggle
ref={toggleRef} ref={toggleRef}
variant="typeahead" variant='typeahead'
onClick={onToggleClick} onClick={onToggleClick}
isExpanded={isOpen} isExpanded={isOpen}
> >
@ -115,8 +115,8 @@ const TimezoneDropDown = () => {
value={timezone ? timezone : inputValue} value={timezone ? timezone : inputValue}
onClick={onInputClick} onClick={onInputClick}
onChange={onTextInputChange} onChange={onTextInputChange}
autoComplete="off" autoComplete='off'
placeholder="Select a timezone" placeholder='Select a timezone'
isExpanded={isOpen} isExpanded={isOpen}
/> />
@ -124,9 +124,9 @@ const TimezoneDropDown = () => {
<TextInputGroupUtilities> <TextInputGroupUtilities>
<Button <Button
icon={<TimesIcon />} icon={<TimesIcon />}
variant="plain" variant='plain'
onClick={onClearButtonClick} onClick={onClearButtonClick}
aria-label="Clear input" aria-label='Clear input'
/> />
</TextInputGroupUtilities> </TextInputGroupUtilities>
)} )}
@ -135,7 +135,7 @@ const TimezoneDropDown = () => {
); );
return ( return (
<FormGroup isRequired={false} label="Timezone"> <FormGroup isRequired={false} label='Timezone'>
<Select <Select
isScrollable isScrollable
isOpen={isOpen} isOpen={isOpen}

View file

@ -8,7 +8,7 @@ import TimezoneDropDown from './components/TimezoneDropDown';
const TimezoneStep = () => { const TimezoneStep = () => {
return ( return (
<Form> <Form>
<Title headingLevel="h1" size="xl"> <Title headingLevel='h1' size='xl'>
Timezone Timezone
</Title> </Title>
<Content>Select a timezone for your image.</Content> <Content>Select a timezone for your image.</Content>

View file

@ -20,12 +20,12 @@ const EmptyUserState = () => {
return ( return (
<EmptyState <EmptyState
headingLevel="h4" headingLevel='h4'
icon={UserIcon} icon={UserIcon}
variant={EmptyStateVariant.lg} variant={EmptyStateVariant.lg}
> >
<EmptyStateFooter> <EmptyStateFooter>
<Button variant="secondary" onClick={onAddUserClick}> <Button variant='secondary' onClick={onAddUserClick}>
Add a user Add a user
</Button> </Button>
</EmptyStateFooter> </EmptyStateFooter>

View file

@ -53,17 +53,17 @@ const RemoveUserModal = ({
}; };
return ( return (
<Modal isOpen={isOpen} onClose={onClose} width="50%"> <Modal isOpen={isOpen} onClose={onClose} width='50%'>
<ModalHeader title={`Remove user${userName ? ` ${userName}` : ''}?`} /> <ModalHeader title={`Remove user${userName ? ` ${userName}` : ''}?`} />
<ModalBody> <ModalBody>
This action is permanent and cannot be undone. Once deleted all This action is permanent and cannot be undone. Once deleted all
information about the user will be lost. information about the user will be lost.
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button key="confirm" variant="primary" onClick={onConfirm}> <Button key='confirm' variant='primary' onClick={onConfirm}>
Remove user Remove user
</Button> </Button>
<Button key="cancel" variant="link" onClick={onClose}> <Button key='cancel' variant='link' onClick={onClose}>
Cancel Cancel
</Button> </Button>
</ModalFooter> </ModalFooter>

Some files were not shown because too many files have changed in this diff Show more