mirror of
https://ghproxy.net/https://github.com/elementor/one-click-accessibility.git
synced 2026-07-22 12:27:13 +08:00
* add: preview images for bulk-alt-text * add: bulk alt text banner * fix: padding * add: bulk alt text banner component * add: icons * add: support for aborting the fetch request * add: bulk alt text manager * update: husky * fix: optimized images * update: memoize images * fix: imports * add: focustrap * add: mixpanel events * update: add logic to save alt text when editing manually * fix: abort controller reference and cleanup * fix: improve key stability in image grid rendering * refactor: add PropTypes validation and memoization to ImageCard component * feat: add error handling for ImageCard component using ErrorBoundary * fix: auto selection logic for card with bulk generation * add: loading and generation states * refactor: restructure bulk alt text components and enhance progress handling and decentralized logic * refactor: extract logic from progress bar to hook * add: quota exceeded alert * add: promotional banner for generate button * update: Generate button for selection mode * fix: button alignment * update: hide banner for 2 or less images * fix: box shadow * add: mixpanel events * update: rename variable * add: bulk upgrade url * update: link handling for upgrade * fix: box shadow * add: border radius to dialog * update: improved accessibility notifications * fix: height and padding for banner * update: add more context to image card * add: ARIA labels * add: focus on card * add: decode URI component * fix: accessibility issues * add: encoding for file names * fix: styled components * update: made progress bar sticky * update: add logic to disable button on bulk generation * fix: style * fix: closing the dialog while generating * add: error handling * fix: mark prop as not required * Fix: Prevent MUI from adding aria-hidden to dialog parent elements [APP-2261] * add: error handling for quota api error * fix: prop requirement * add: close handler to dialog * fix: ui * fix: icons * fix: width of dialog * fix: width of bulk dialog --------- Co-authored-by: Kniazevych <pavlok@elementor.red>
67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
import Card from '@elementor/ui/Card';
|
|
import Grid from '@elementor/ui/Grid';
|
|
import TextField from '@elementor/ui/TextField';
|
|
import { styled } from '@elementor/ui/styles';
|
|
|
|
export const StyledCard = styled(Card, {
|
|
shouldForwardProp: (prop) =>
|
|
prop !== 'isLoading' &&
|
|
prop !== 'isCurrentlySelected' &&
|
|
prop !== 'hasValidAltText' &&
|
|
prop !== 'isDraft' &&
|
|
prop !== 'isDecorative',
|
|
})`
|
|
border-radius: ${({ theme }) => theme.shape.borderRadius * 2}px;
|
|
height: 282px;
|
|
width: 248px;
|
|
|
|
& .MuiCardContent-root:last-child {
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
${({ theme, isLoading, isCurrentlySelected, hasValidAltText, isDraft }) =>
|
|
(isLoading || (isCurrentlySelected && !hasValidAltText)) && !isDraft
|
|
? `border: 2px solid; border-color: ${theme.palette.info.main};`
|
|
: ''}
|
|
`;
|
|
|
|
export const StyledPreviewWrapper = styled(Grid)`
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
& .MuiPaper-root {
|
|
background-color: transparent;
|
|
width: 130px;
|
|
height: 96px;
|
|
}
|
|
|
|
& img {
|
|
width: 130px;
|
|
height: 96px;
|
|
font-size: auto;
|
|
object-fit: cover;
|
|
border-radius: ${({ theme }) => theme.shape.borderRadius * 2}px;
|
|
}
|
|
`;
|
|
|
|
export const StyledTextField = styled(TextField)`
|
|
& .MuiInputBase-root {
|
|
padding: 0;
|
|
font-size: 14px;
|
|
}
|
|
|
|
& .MuiInputBase-input {
|
|
padding: ${({ theme }) =>
|
|
`${theme.spacing(1)} ${theme.spacing(1.5)} ${theme.spacing(1)} ${theme.spacing(1)}`};
|
|
}
|
|
|
|
& fieldset {
|
|
border-color: transparent;
|
|
overflow: auto;
|
|
|
|
&:selected {
|
|
border: auto;
|
|
}
|
|
}
|
|
`;
|