mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 14:00:55 +03:00
Theme Editor: basic "find bar" added
This commit is contained in:
@@ -30,8 +30,9 @@ dependencies {
|
||||
implementation( project( ":flatlaf-extras" ) )
|
||||
|
||||
implementation( "com.miglayout:miglayout-swing:5.3-SNAPSHOT" )
|
||||
implementation( "com.fifesoft:rsyntaxtextarea:3.1.1" )
|
||||
implementation( "com.fifesoft:autocomplete:3.1.0" )
|
||||
implementation( "com.fifesoft:rsyntaxtextarea:3.1.2" )
|
||||
implementation( "com.fifesoft:autocomplete:3.1.1" )
|
||||
implementation( "com.fifesoft:rstaui:3.1.1" )
|
||||
}
|
||||
|
||||
tasks {
|
||||
|
||||
@@ -0,0 +1,213 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.themeeditor;
|
||||
|
||||
import java.awt.Container;
|
||||
import javax.swing.*;
|
||||
import org.fife.rsta.ui.CollapsibleSectionPanel;
|
||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||
import org.fife.ui.rtextarea.SearchContext;
|
||||
import org.fife.ui.rtextarea.SearchEngine;
|
||||
import org.fife.ui.rtextarea.SearchResult;
|
||||
import com.formdev.flatlaf.extras.FlatSVGIcon;
|
||||
import net.miginfocom.swing.*;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
class FlatFindReplaceBar
|
||||
extends JPanel
|
||||
{
|
||||
private final RSyntaxTextArea textArea;
|
||||
|
||||
private SearchContext context;
|
||||
|
||||
FlatFindReplaceBar( RSyntaxTextArea textArea ) {
|
||||
this.textArea = textArea;
|
||||
|
||||
initComponents();
|
||||
|
||||
findPreviousButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/themeeditor/icons/findAndShowPrevMatches.svg" ) );
|
||||
findNextButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/themeeditor/icons/findAndShowNextMatches.svg" ) );
|
||||
matchCaseToggleButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/themeeditor/icons/matchCase.svg" ) );
|
||||
matchWholeWordToggleButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/themeeditor/icons/words.svg" ) );
|
||||
regexToggleButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/themeeditor/icons/regex.svg" ) );
|
||||
closeButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/themeeditor/icons/close.svg" ) );
|
||||
|
||||
SearchContext context = new SearchContext();
|
||||
context.setSearchWrap( true );
|
||||
setSearchContext( context );
|
||||
}
|
||||
|
||||
SearchContext getSearchContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
void setSearchContext( SearchContext context ) {
|
||||
this.context = context;
|
||||
|
||||
findField.setText( context.getSearchFor() );
|
||||
matchCaseToggleButton.setSelected( context.getMatchCase() );
|
||||
matchWholeWordToggleButton.setSelected( context.getWholeWord() );
|
||||
regexToggleButton.setSelected( context.isRegularExpression() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requestFocusInWindow() {
|
||||
return findField.requestFocusInWindow();
|
||||
}
|
||||
|
||||
private void findNext() {
|
||||
context.setSearchForward( true );
|
||||
find();
|
||||
}
|
||||
|
||||
private void findPrevious() {
|
||||
context.setSearchForward( false );
|
||||
find();
|
||||
}
|
||||
|
||||
private void find() {
|
||||
// update search context
|
||||
context.setSearchFor( findField.getText() );
|
||||
|
||||
// find
|
||||
SearchResult result = SearchEngine.find( textArea, context );
|
||||
|
||||
// update matches info label
|
||||
matchesLabel.setText( result.getMarkedCount() + " matches" );
|
||||
}
|
||||
|
||||
private void matchCaseChanged() {
|
||||
context.setMatchCase( matchCaseToggleButton.isSelected() );
|
||||
find();
|
||||
}
|
||||
|
||||
private void matchWholeWordChanged() {
|
||||
context.setWholeWord( matchWholeWordToggleButton.isSelected() );
|
||||
find();
|
||||
}
|
||||
|
||||
private void regexChanged() {
|
||||
context.setRegularExpression( regexToggleButton.isSelected() );
|
||||
find();
|
||||
}
|
||||
|
||||
private void close() {
|
||||
Container parent = getParent();
|
||||
if( parent instanceof CollapsibleSectionPanel )
|
||||
((CollapsibleSectionPanel)parent).hideBottomComponent();
|
||||
else if( parent != null )
|
||||
parent.remove( this );
|
||||
}
|
||||
|
||||
private void initComponents() {
|
||||
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
|
||||
findLabel = new JLabel();
|
||||
findField = new JTextField();
|
||||
findToolBar = new JToolBar();
|
||||
findPreviousButton = new JButton();
|
||||
findNextButton = new JButton();
|
||||
matchCaseToggleButton = new JToggleButton();
|
||||
matchWholeWordToggleButton = new JToggleButton();
|
||||
regexToggleButton = new JToggleButton();
|
||||
matchesLabel = new JLabel();
|
||||
hSpacer1 = new JPanel(null);
|
||||
closeButton = new JButton();
|
||||
|
||||
//======== this ========
|
||||
setFocusCycleRoot(true);
|
||||
setLayout(new MigLayout(
|
||||
"insets 3,hidemode 3",
|
||||
// columns
|
||||
"[fill]" +
|
||||
"[fill]0" +
|
||||
"[grow,fill]",
|
||||
// rows
|
||||
"[]"));
|
||||
|
||||
//---- findLabel ----
|
||||
findLabel.setText("Find:");
|
||||
findLabel.setDisplayedMnemonic('F');
|
||||
findLabel.setLabelFor(findField);
|
||||
add(findLabel, "cell 0 0");
|
||||
|
||||
//---- findField ----
|
||||
findField.setColumns(16);
|
||||
findField.addActionListener(e -> find());
|
||||
add(findField, "cell 1 0");
|
||||
|
||||
//======== findToolBar ========
|
||||
{
|
||||
findToolBar.setFloatable(false);
|
||||
findToolBar.setBorder(null);
|
||||
|
||||
//---- findPreviousButton ----
|
||||
findPreviousButton.setToolTipText("Previous Occurrence");
|
||||
findPreviousButton.addActionListener(e -> findPrevious());
|
||||
findToolBar.add(findPreviousButton);
|
||||
|
||||
//---- findNextButton ----
|
||||
findNextButton.setToolTipText("Next Occurrence");
|
||||
findNextButton.addActionListener(e -> findNext());
|
||||
findToolBar.add(findNextButton);
|
||||
findToolBar.addSeparator();
|
||||
|
||||
//---- matchCaseToggleButton ----
|
||||
matchCaseToggleButton.setToolTipText("Match Case");
|
||||
matchCaseToggleButton.addActionListener(e -> matchCaseChanged());
|
||||
findToolBar.add(matchCaseToggleButton);
|
||||
|
||||
//---- matchWholeWordToggleButton ----
|
||||
matchWholeWordToggleButton.setToolTipText("Match Whole Word");
|
||||
matchWholeWordToggleButton.addActionListener(e -> matchWholeWordChanged());
|
||||
findToolBar.add(matchWholeWordToggleButton);
|
||||
|
||||
//---- regexToggleButton ----
|
||||
regexToggleButton.setToolTipText("Regex");
|
||||
regexToggleButton.addActionListener(e -> regexChanged());
|
||||
findToolBar.add(regexToggleButton);
|
||||
findToolBar.addSeparator();
|
||||
|
||||
//---- matchesLabel ----
|
||||
matchesLabel.setEnabled(false);
|
||||
findToolBar.add(matchesLabel);
|
||||
findToolBar.add(hSpacer1);
|
||||
|
||||
//---- closeButton ----
|
||||
closeButton.setToolTipText("Close");
|
||||
closeButton.addActionListener(e -> close());
|
||||
findToolBar.add(closeButton);
|
||||
}
|
||||
add(findToolBar, "cell 2 0");
|
||||
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||
}
|
||||
|
||||
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
||||
private JLabel findLabel;
|
||||
private JTextField findField;
|
||||
private JToolBar findToolBar;
|
||||
private JButton findPreviousButton;
|
||||
private JButton findNextButton;
|
||||
private JToggleButton matchCaseToggleButton;
|
||||
private JToggleButton matchWholeWordToggleButton;
|
||||
private JToggleButton regexToggleButton;
|
||||
private JLabel matchesLabel;
|
||||
private JPanel hSpacer1;
|
||||
private JButton closeButton;
|
||||
// JFormDesigner - End of variables declaration //GEN-END:variables
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
JFDML JFormDesigner: "7.0.3.1.342" Java: "15" encoding: "UTF-8"
|
||||
|
||||
new FormModel {
|
||||
contentType: "form/swing"
|
||||
root: new FormRoot {
|
||||
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
||||
"$layoutConstraints": "insets 3,hidemode 3"
|
||||
"$columnConstraints": "[fill][fill]0[grow,fill]"
|
||||
"$rowConstraints": "[]"
|
||||
} ) {
|
||||
name: "this"
|
||||
"focusCycleRoot": true
|
||||
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||
name: "findLabel"
|
||||
"text": "Find:"
|
||||
"displayedMnemonic": 70
|
||||
"labelFor": new FormReference( "findField" )
|
||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||
"value": "cell 0 0"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JTextField" ) {
|
||||
name: "findField"
|
||||
"columns": 16
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "find", false ) )
|
||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||
"value": "cell 1 0"
|
||||
} )
|
||||
add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) {
|
||||
name: "findToolBar"
|
||||
"floatable": false
|
||||
"border": sfield com.jformdesigner.model.FormObject NULL_VALUE
|
||||
add( new FormComponent( "javax.swing.JButton" ) {
|
||||
name: "findPreviousButton"
|
||||
"toolTipText": "Previous Occurrence"
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "findPrevious", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JButton" ) {
|
||||
name: "findNextButton"
|
||||
"toolTipText": "Next Occurrence"
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "findNext", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JToolBar$Separator" ) {
|
||||
name: "separator1"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JToggleButton" ) {
|
||||
name: "matchCaseToggleButton"
|
||||
"toolTipText": "Match Case"
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "matchCaseChanged", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JToggleButton" ) {
|
||||
name: "matchWholeWordToggleButton"
|
||||
"toolTipText": "Match Whole Word"
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "matchWholeWordChanged", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JToggleButton" ) {
|
||||
name: "regexToggleButton"
|
||||
"toolTipText": "Regex"
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "regexChanged", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JToolBar$Separator" ) {
|
||||
name: "separator2"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||
name: "matchesLabel"
|
||||
"enabled": false
|
||||
} )
|
||||
add( new FormComponent( "com.jformdesigner.designer.wrapper.HSpacer" ) {
|
||||
name: "hSpacer1"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JButton" ) {
|
||||
name: "closeButton"
|
||||
"toolTipText": "Close"
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "close", false ) )
|
||||
} )
|
||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||
"value": "cell 2 0"
|
||||
} )
|
||||
}, new FormLayoutConstraints( null ) {
|
||||
"location": new java.awt.Point( 0, 0 )
|
||||
"size": new java.awt.Dimension( 400, 300 )
|
||||
} )
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@ import javax.swing.JLayer;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import org.fife.rsta.ui.CollapsibleSectionPanel;
|
||||
import org.fife.ui.autocomplete.AutoCompletion;
|
||||
import org.fife.ui.autocomplete.CompletionProvider;
|
||||
import org.fife.ui.rsyntaxtextarea.AbstractTokenMakerFactory;
|
||||
@@ -53,8 +54,10 @@ class FlatThemeEditorPane
|
||||
|
||||
private static final String FLATLAF_STYLE = "text/flatlaf";
|
||||
|
||||
private final CollapsibleSectionPanel collapsiblePanel;
|
||||
private final RTextScrollPane scrollPane;
|
||||
private final FlatSyntaxTextArea textArea;
|
||||
private FlatFindReplaceBar findReplaceBar;
|
||||
|
||||
private File file;
|
||||
|
||||
@@ -114,7 +117,10 @@ class FlatThemeEditorPane
|
||||
// use same font for line numbers as in editor
|
||||
scrollPane.getGutter().setLineNumberFont( textArea.getFont() );
|
||||
|
||||
add( scrollPane, BorderLayout.CENTER );
|
||||
// create collapsible panel
|
||||
collapsiblePanel = new CollapsibleSectionPanel();
|
||||
collapsiblePanel.add( scrollPane );
|
||||
add( collapsiblePanel, BorderLayout.CENTER );
|
||||
}
|
||||
|
||||
private static Font scaleFont( Font font ) {
|
||||
@@ -198,4 +204,13 @@ class FlatThemeEditorPane
|
||||
Window window = SwingUtilities.windowForComponent( this );
|
||||
return (window instanceof JFrame) ? ((JFrame)window).getTitle() : null;
|
||||
}
|
||||
|
||||
void showFindReplaceBar() {
|
||||
if( findReplaceBar == null ) {
|
||||
findReplaceBar = new FlatFindReplaceBar( textArea );
|
||||
collapsiblePanel.addBottomComponent( findReplaceBar );
|
||||
}
|
||||
|
||||
collapsiblePanel.showBottomComponent( findReplaceBar );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,12 +179,20 @@ public class FlatThemeFileEditor
|
||||
tabbedPane.setSelectedIndex( index );
|
||||
}
|
||||
|
||||
private void find() {
|
||||
FlatThemeEditorPane themeEditorPane = (FlatThemeEditorPane) tabbedPane.getSelectedComponent();
|
||||
if( themeEditorPane != null )
|
||||
themeEditorPane.showFindReplaceBar();
|
||||
}
|
||||
|
||||
private void initComponents() {
|
||||
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
|
||||
menuBar = new JMenuBar();
|
||||
fileMenu = new JMenu();
|
||||
saveAllMenuItem = new JMenuItem();
|
||||
exitMenuItem = new JMenuItem();
|
||||
editMenu = new JMenu();
|
||||
findMenuItem = new JMenuItem();
|
||||
windowMenu = new JMenu();
|
||||
nextEditorMenuItem = new JMenuItem();
|
||||
previousEditorMenuItem = new JMenuItem();
|
||||
@@ -237,6 +245,20 @@ public class FlatThemeFileEditor
|
||||
}
|
||||
menuBar.add(fileMenu);
|
||||
|
||||
//======== editMenu ========
|
||||
{
|
||||
editMenu.setText("Edit");
|
||||
editMenu.setMnemonic('E');
|
||||
|
||||
//---- findMenuItem ----
|
||||
findMenuItem.setText("Find...");
|
||||
findMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
||||
findMenuItem.setMnemonic('F');
|
||||
findMenuItem.addActionListener(e -> find());
|
||||
editMenu.add(findMenuItem);
|
||||
}
|
||||
menuBar.add(editMenu);
|
||||
|
||||
//======== windowMenu ========
|
||||
{
|
||||
windowMenu.setText("Window");
|
||||
@@ -294,6 +316,8 @@ public class FlatThemeFileEditor
|
||||
private JMenu fileMenu;
|
||||
private JMenuItem saveAllMenuItem;
|
||||
private JMenuItem exitMenuItem;
|
||||
private JMenu editMenu;
|
||||
private JMenuItem findMenuItem;
|
||||
private JMenu windowMenu;
|
||||
private JMenuItem nextEditorMenuItem;
|
||||
private JMenuItem previousEditorMenuItem;
|
||||
|
||||
@@ -63,6 +63,18 @@ new FormModel {
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "exit", false ) )
|
||||
} )
|
||||
} )
|
||||
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||
name: "editMenu"
|
||||
"text": "Edit"
|
||||
"mnemonic": 69
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "findMenuItem"
|
||||
"text": "Find..."
|
||||
"accelerator": static javax.swing.KeyStroke getKeyStroke( 70, 4226, false )
|
||||
"mnemonic": 70
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "find", false ) )
|
||||
} )
|
||||
} )
|
||||
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||
name: "windowMenu"
|
||||
"text": "Window"
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
The icons in this folder are from IntelliJ IDEA Community Edition,
|
||||
which is licensed under the Apache 2.0 license. Copyright 2000-2019 JetBrains s.r.o.
|
||||
See: https://github.com/JetBrains/intellij-community/
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="#6E6E6E" fill-rule="evenodd" d="M7.99494337,8.70506958 L4.85408745,11.8540874 L4.14698067,11.1469807 L7.29493214,8.00505835 L4.14698067,4.85710688 L4.85408745,4.1500001 L8.00204181,7.29795446 L11.1439612,4.1500001 L11.851068,4.85710688 L8.70204624,7.99795888 L11.851068,11.1469807 L11.1439612,11.8540874 L7.99494337,8.70506958 Z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 437 B |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<polygon fill="#6E6E6E" fill-rule="evenodd" points="4.912 4.175 8.738 8 4.912 11.825 6.088 13 11.088 8 6.088 3" transform="matrix(0 1 1 0 0 0)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 239 B |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<polygon fill="#6E6E6E" fill-rule="evenodd" points="4.912 4.175 8.738 8 4.912 11.825 6.088 13 11.088 8 6.088 3" transform="matrix(0 -1 -1 0 16 16)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 243 B |
@@ -0,0 +1,8 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="matchCase">
|
||||
<g id="Cc">
|
||||
<path d="M8.77476 11.8297C8.32279 12.2816 7.83717 12.623 7.31789 12.8538C6.80823 13.075 6.19279 13.1856 5.47157 13.1856C4.17337 13.1856 3.10116 12.7144 2.25492 11.772C1.41831 10.8296 1 9.5939 1 8.06491V7.93509C1 6.4061 1.42792 5.17041 2.28377 4.22802C3.13962 3.27601 4.23588 2.8 5.57254 2.8C6.81304 2.8 7.8564 3.18465 8.70263 3.95395L7.72178 5.64161C7.01979 5.0454 6.3178 4.7473 5.61581 4.7473C4.89459 4.7473 4.30319 5.03098 3.84161 5.59834C3.38964 6.1657 3.16366 6.935 3.16366 7.90624V8.05049C3.16366 9.04096 3.38964 9.81988 3.84161 10.3872C4.29357 10.9546 4.88978 11.2383 5.63024 11.2383C6.35146 11.2383 7.06787 10.9306 7.77947 10.3151L8.77476 11.8297Z" fill="#6E6E6E"/>
|
||||
<path d="M15.6304 12.1182C15.2842 12.474 14.914 12.7432 14.5197 12.9259C14.135 13.1086 13.6542 13.2 13.0773 13.2C12.0483 13.2 11.2021 12.8346 10.5386 12.1037C9.87504 11.3633 9.54327 10.4209 9.54327 9.27656V9.11789C9.54327 7.97356 9.87984 7.03116 10.553 6.29071C11.2261 5.55025 12.0772 5.18003 13.1061 5.18003C14.135 5.18003 14.962 5.50217 15.5871 6.14646L14.6639 7.67545C14.1927 7.22349 13.6927 6.9975 13.1638 6.9975C12.7022 6.9975 12.3224 7.18983 12.0243 7.57448C11.7262 7.95913 11.5771 8.46398 11.5771 9.08904V9.26214C11.5771 9.90643 11.7262 10.4209 12.0243 10.8055C12.332 11.1902 12.7359 11.3825 13.2359 11.3825C13.736 11.3825 14.236 11.1565 14.7361 10.7046L15.6304 12.1182Z" fill="#6E6E6E"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<rect width="2" height="2" x="3" y="11" fill="#6E6E6E"/>
|
||||
<path fill="#6E6E6E" d="M9.8339746,5.61435935 L12.0980762,4.30717968 L12.8980762,5.69282032 L10.6339746,7 L12.8980762,8.30717968 L12.0980762,9.69282032 L9.8339746,8.38564065 L9.8339746,11 L8.2339746,11 L8.2339746,8.38564065 L5.96987298,9.69282032 L5.16987298,8.30717968 L7.4339746,7 L5.16987298,5.69282032 L5.96987298,4.30717968 L8.2339746,5.61435935 L8.2339746,3 L9.8339746,3 L9.8339746,5.61435935 Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 605 B |
@@ -0,0 +1,5 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="words">
|
||||
<path id="W" d="M14.5213 3.01418L11.6986 13H9.82624L8.01064 6.68794L6.19504 13H4.3227L1.5 3.01418H3.67021L5.3156 9.53901L7.14539 3H8.93262L10.7482 9.53901L12.4078 3.01418H14.5213Z" fill="#6E6E6E"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 321 B |
Reference in New Issue
Block a user