1+ import React from "react" ;
2+ import { navigate } from "gatsby" ;
3+ import { useLocation } from "@reach/router" ;
4+ import { Row } from "../../../../../reusecore/Layout" ;
5+ import { SistentThemeProvider , KubernetesIcon , DesignIcon , PublishIcon } from "@sistent/sistent" ;
6+ import { SistentLayout } from "../../sistent-layout" ;
7+ import TabButton from "../../../../../reusecore/Button" ;
8+ import { useStyledDarkMode } from "../../../../../theme/app/useStyledDarkMode" ;
9+
10+ const IconsGuidance = ( ) => {
11+ const location = useLocation ( ) ;
12+ const { isDark } = useStyledDarkMode ( ) ;
13+
14+ return (
15+ < SistentLayout title = "Icons" >
16+ < div className = "content" >
17+ < a id = "Identity" >
18+ < h2 > Icons</ h2 >
19+ </ a >
20+ < p >
21+ Icons are visual symbols used to represent ideas, objects, or actions.
22+ They communicate messages at a glance, afford interactivity, and draw
23+ attention to important information.
24+ </ p >
25+ < div className = "filterBtns" >
26+ < TabButton
27+ className = {
28+ location . pathname === "/projects/sistent/components/icons"
29+ ? "active"
30+ : ""
31+ }
32+ onClick = { ( ) => navigate ( "/projects/sistent/components/icons" ) }
33+ title = "Overview"
34+ />
35+ < TabButton
36+ className = {
37+ location . pathname ===
38+ "/projects/sistent/components/icons/guidance"
39+ ? "active"
40+ : ""
41+ }
42+ onClick = { ( ) =>
43+ navigate ( "/projects/sistent/components/icons/guidance" )
44+ }
45+ title = "Guidance"
46+ />
47+ < TabButton
48+ className = {
49+ location . pathname === "/projects/sistent/components/icons/code"
50+ ? "active"
51+ : ""
52+ }
53+ onClick = { ( ) => navigate ( "/projects/sistent/components/icons/code" ) }
54+ title = "Code"
55+ />
56+ </ div >
57+ < div className = "main-content" >
58+ < a id = "Best Practices" >
59+ < h2 > Best Practices</ h2 > < br />
60+ </ a >
61+ < h3 > Clarity and Recognition</ h3 >
62+ < p >
63+ Use icons that are universally recognized or easily understood within your
64+ target audience. Avoid using obscure or overly abstract symbols that may
65+ confuse users.
66+ </ p >
67+ < h3 > Consistency</ h3 >
68+ < p >
69+ Maintain visual consistency across all icons in your interface. Icons should
70+ share similar visual weight, style, and proportions to create a cohesive
71+ design system.
72+ </ p >
73+ < h3 > Size and Spacing</ h3 >
74+ < p >
75+ Ensure icons are sized appropriately for their context and maintain adequate
76+ spacing from surrounding elements. Icons should be large enough to be easily
77+ tapped or clicked, especially on touch devices (minimum 24x24px for touch targets).
78+ </ p >
79+ < h3 > Color and Contrast</ h3 >
80+ < p >
81+ Use colors that provide sufficient contrast with the background for accessibility.
82+ Consider how icons appear in both light and dark themes, and ensure they remain
83+ visible and recognizable in all contexts.
84+ </ p >
85+ < h3 > Labels and Tooltips</ h3 >
86+ < p >
87+ When icons might be ambiguous, always provide text labels or tooltips. This is
88+ especially important for critical actions or less common functions. Labels help
89+ users understand functionality without having to guess.
90+ </ p >
91+ < h3 > Accessibility</ h3 >
92+ < p >
93+ Ensure icons are accessible to all users, including those using screen readers.
94+ Provide appropriate aria-labels and alt text where needed. Never rely solely on
95+ color to convey meaning.
96+ </ p >
97+
98+ < a id = "Usage Guidelines" >
99+ < h2 > Usage Guidelines</ h2 > < br />
100+ </ a >
101+ < h3 > When to Use Icons</ h3 >
102+ < p >
103+ Icons work best when they enhance understanding rather than obscure it. Use icons
104+ when they add visual interest, save space, or make interfaces more scannable.
105+ Avoid using icons just for decoration if they don't serve a functional purpose.
106+ </ p >
107+ < h3 > Icon Placement</ h3 >
108+ < p >
109+ Position icons where users expect to find them. Common placements include navigation
110+ menus, buttons, form fields, and action bars. Ensure icons are aligned properly with
111+ accompanying text or other elements.
112+ </ p >
113+ < h3 > Combining Icons with Text</ h3 >
114+ < p >
115+ When combining icons with text, ensure proper spacing and alignment. Icons typically
116+ work well when placed to the left of text labels in left-to-right languages. For
117+ buttons, icons can appear on either side of the label depending on the action.
118+ </ p >
119+ </ div >
120+ </ div >
121+ </ SistentLayout >
122+ ) ;
123+ } ;
124+
125+ export default IconsGuidance ;
0 commit comments