Medium contribution spec

The following page outlines the process of a medium contribution to CivicTheme.

Component overview

Field
Description

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

Field
Description

Do any existing patterns fulfill this need?

[Yes/No. If yes, reference the relevant pattern.]

References and inspiration

Field
Description

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

Field
Description

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

Field
Description

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

Field
Description

Research completed

[Provide key research insights. If possible, show how these insights influenced the component.]

Results

[Link to additional resources, if any.]

Security requirements

Field
Description

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

Field
Description

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

Field
Description

Submitted by

[Contributor's Name]

Date

[Submission Date]

Contact information

[Name, Email or GitHub username]


Feedback

We're always looking at ways to improve our model for contributions, and rely on your feedback to ensure an enjoyable contribution experience. The best way to give us feedback is to join our Slack channel and chat to us there, or contact us via email!

Last updated