Medium contribution spec
The following page outlines the process of a medium contribution to CivicTheme.
Component overview
Component name
[Insert Component Name]
Type
[Atom, Molecule, Organism, etc.]
Intended purpose
Provide a detailed explanation of the component’s purpose (e.g., "To extend the functionality of the form field component to support file uploads.")
Primary use case
[Define primary scenarios.]
Secondary use case
[Optional, additional scenarios where it could be applied.]
Existing patterns/components
Do any existing patterns fulfill this need?
[Yes/No. If yes, reference the relevant pattern.]
References and inspiration
Description of component
[Provide background on how the component was conceived.]
References/inspiration sources
[Provide links or files (e.g., Figma, mockups).]
Interactions and behaviours
Intended user interactions
[Describe expected interactions (e.g., "Multi-step form progress displayed dynamically.")]
Expected component behaviour
[Define behaviour in various contexts (e.g., loading states, user errors).]
Accessibility considerations
WCAG compliance level
[A, AA]
Expected component behaviour (accessibility)
[Outline required accessible interactions and considerations.]
Potential accessibility challenges
[List known challenges or risks.]
User research
Research completed
[Provide key research insights. If possible, show how these insights influenced the component.]
Results
[Link to additional resources, if any.]
Security requirements
Security considerations
[List any potential risks, such as user input or data handling.]
Data handling requirements
[Describe if the component interacts with user data.]
Privacy concerns
[List any privacy risks, if applicable.]
Technical considerations
Required technology/framework support
[e.g., Drupal, React, Vue.js]
Known component dependencies
[List dependencies, if any.]
Performance expectations
[Specify performance goals or requirements (e.g., loading speed, responsiveness).]
Submission details
Submitted by
[Contributor's name]
Date
[Submission date]
Contact information
[Name, email or GitHub username]
Feedback
Last updated
Was this helpful?