learningequality / learningequality/studio

Replace <Checkbox> with KDS Component, KCheckbox

Open
#3,098 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P2 - normal
Dominant language
Python
Stars
191
Forks
307
Avg merge
5d 6h
Merged PRs (30d)
10

Description

Currently in Studio we are using the <Checkbox/> component, rather than the KDS KCheckbox. To standardize user experience and get the benefits of using our design system, we should use the <KCheckbox/> in place of <Checkbox/>

The user should not experience major changes, and all checkboxes should continue to work as they were before

Considerations

It is used 43 times, across 29 files, in Studio. Replacing the components should be fairly straightforward, as there are no additional layers on interconnection or dependencies found while preparing the issue.

The props for KCheckbox are available in the design system documentation, as well as additional information about events and methods.

note:

While making this update, an additional goal/benefit would be to ensure that when converting the component, that the usage of a checkbox at all follows our KDS guidance about when checkboxes are appropriate:

The checkbox is generally used to select one of two possible values in a form. It should not be used to make real-time changes; for this situation, use a KSwitch component instead.

If there are any instances where KSwitch would be better, it would be helpful to either make those changes or create a new issue.

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

Search Studio for the 43 Checkbox usages across 29 files, then read the KDS KCheckbox props, events, methods, and usage guidance. Replace the eligible components while preserving existing behavior, assess whether any real-time uses should become KSwitch, and verify that all checkboxes continue to work.

Written by the indexing model from the issue text.

Assessment

Domain
frontend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.