.at-gsm {
display: none;
}
.ads-container {
padding: 20px 10px;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
-ms-align-items: center;
align-items: center;
}
.ads-container .ads-screenshot {
width: 20%;
max-width: 200px;
display: inline-block;
vertical-align: top;
border: 2px solid #ddd;
border-radius: 4px;
}
.ads-container .ads-notice {
width: 70%;
display: block;
vertical-align: top;
padding: 0 20px;
}
.ads-container .ads-notice .plugin-install-notice {
border-top: 1px solid #ddd;
padding-top: 15px;
margin-top: 25px;
margin-bottom: 10px;
}
.ads-container a.ads-gsm-btn:before{
margin: -2px 5px 0 -2px;
vertical-align: middle;
}
.ads-notice h2 {
margin: 0 0 10px;
font-weight: 400;
line-height: 1.3;
}
.ads-container .ads-notice p {
margin: 1em 0;
padding: 0;
color: #72777c;
}
a.ads-gsm-btn.button {
background: #04bf41;
color: #fff;
border-color: #04bf41;
font-size: 15px;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
a.ads-gsm-btn.button:hover,
a.ads-gsm-btn.button:focus,
a.ads-gsm-btn.button:active {
background: #00944a;
border-color: #00944a;
color: #fff;
}
@media (max-width: 600px) {
.ads-container .ads-screenshot {
display: none;
}
.ads-container .ads-notice {
padding: 0;
width: 100%;
}
}
import Alert from '@elementor/ui/Alert';
import Box from '@elementor/ui/Box';
import Card from '@elementor/ui/Card';
import CardContent from '@elementor/ui/CardContent';
import CardHeader from '@elementor/ui/CardHeader';
import Divider from '@elementor/ui/Divider';
import List from '@elementor/ui/List';
import ListItem from '@elementor/ui/ListItem';
import ListItemText from '@elementor/ui/ListItemText';
import Typography from '@elementor/ui/Typography';
import { styled } from '@elementor/ui/styles';
import { CapabilitiesItem } from '@ea11y/components';
import { useSettings, useStorage } from '@ea11y/hooks';
import { LogoSettings } from '@ea11y/layouts';
import { useEffect, useState } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
import { MENU_SETTINGS } from '../constants/menu-settings';
const StyledCardContent = styled(CardContent)`
height: 55vh;
overflow: auto;
margin-block-end: ${({ theme }) => theme.spacing(2)};
padding: 0 ${({ theme }) => theme.spacing(2)};
`;
const MenuSettings = () => {
const {
widgetMenuSettings,
hideMinimumOptionAlert,
setHideMinimumOptionAlert,
} = useSettings();
const [disableOptions, setDisableOptions] = useState(false);
const { save } = useStorage();
useEffect(() => {
if (!areAtLeastTwoOptionsEnabled(widgetMenuSettings)) {
setDisableOptions(true);
} else {
setDisableOptions(false);
save({ a11y_hide_minimum_active_options_alert: false }).then(() => {
setHideMinimumOptionAlert(false);
});
}
}, [widgetMenuSettings]);
/**
* Check if at least two options are enabled.
* @param {Object} settings - widget menu settings.
* @return {boolean} true if at least two options are enabled.
*/
const areAtLeastTwoOptionsEnabled = (settings) => {
const enabled = Object.keys(settings)?.filter(
(key) => settings[key].enabled,
);
return enabled.length > 2;
};
/**
* Close minimum option notification.
*/
const handleCloseNotification = () => {
save({ a11y_hide_minimum_active_options_alert: true }).then(() => {
setHideMinimumOptionAlert(true);
});
};
const sectionsCount = Object.entries(MENU_SETTINGS).length;
return (
{__(
'Choose which accessibility features and capabilities you want to include.',
'pojo-accessibility',
)}
}
/>
{disableOptions && !hideMinimumOptionAlert && (
{__('At least two option must remain active', 'pojo-accessibility')}
)}
{Object.entries(MENU_SETTINGS).map(([parentKey, parentItem], i) => {
return (
{parentItem.title}
{parentItem.options &&
Object.entries(parentItem.options).map(
([childKey, childValue]) => {
return (
);
},
)}
{i + 1 < sectionsCount && }
);
})}
);
};
export default MenuSettings;
import React from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import Steps from './steps/index';
import './style.scss';
const App = () => {
return (
);
};
export default App;