mi6 / mi6/ic-ui-kit

Create a colour calculator for use when specifying theme colours

Open
#1,663 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

customisation spike theming
Dominant language
TypeScript
Stars
53
Forks
63
Avg merge
2d 4h
Merged PRs (30d)
15

Description

## Summary
We are expanding the theming to allow mor colours to be customised. Ideally we would allow these colours to be specified in any colour space (rgb, hex, hsl). However, in order to easily perform calculations on the different channels, we need to convert any theme colour to hsl. This ticket is to explore methods to do this using pure CSS.

## 💬 Description
- Explore how to perfrom colour conversions using pure CSS.
- If can't be done with pure CSS, explore other methods: CSS preprocessor, javascript applet, etc.
- Determine where in the flow this happens.
- - Is this an applet on the webiste that outputs colour values that can be used to set tokens?
- - Does this happen in background when setting a theme token value?
- - Do we provide a number of tokens for people to specify in different ways? (--ic-action-h, --ic-action-s, --ic-action-l, --ic-action-r, --ic-action-g, --ic-action-b, --ic-action-hex)

## 💰 User value
This makes it easier for users to specify colours, and provides ICDS with ability to perform complex calculations on the individual channels.

## 📚 User Stories
If relevant, describe the high-level functionality as user stories.

*As an* ICDS user:
*I need*
*So that*

## 📝 Acceptance Criteria
If relevant, describe in full detail the different interactions and edge cases that the component or patterns needs to fulfil.

*Given*
*When*
*Then*

## ✏ Designs
If there's a Figma design file (or other mock-up), include it here.

## 🧾 Guidance
If there's written guidance or documentation, include a link to it here.

## Related tickets
#1496
#1047
#1662

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named. Start by reviewing related tickets #1496, #1047, and #1662, then compare pure CSS, preprocessor, and JavaScript approaches for converting theme colours. Done means selecting an approach and defining where conversion occurs and how users provide colour values.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, javascript
Domain
design, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.