1
0
Fork 0

[react] feat: Added docs for components/Control

This commit is contained in:
joostdecock 2025-05-10 13:44:03 +02:00
parent 34ae1dc8dc
commit fc04e415c9
6 changed files with 35 additions and 8 deletions

View file

@ -505,7 +505,7 @@ export const DesignInfo = ({ Link = false, design = false, noDocsLink = false })
className="tw:daisy-badge tw:daisy-badge-primary tw:font-medium tw:hover:shadow tw:hover:cursor-pointer"
href={`/designs/#filter={"example"%3Atrue%2C"tag"%3A["${tag}"]}`}
>
{tag}
<span className="tw:text-primary-content">{tag}</span>
</Link>
))}
</div>
@ -517,7 +517,7 @@ export const DesignInfo = ({ Link = false, design = false, noDocsLink = false })
className="tw:daisy-badge tw:daisy-badge-accent tw:font-medium tw:hover:shadow tw:hover:cursor-pointer"
href={`/designs/#filter={"example"%3Atrue%2C"tag"%3A["${tech}"]}`}
>
{tech}
<span className="tw:text-accent-content">{tech}</span>
</Link>
))}
</div>

View file

@ -2,9 +2,17 @@ import React from 'react'
import { controlDesc } from '@freesewing/config'
import { BulletIcon } from '@freesewing/react/components/Icon'
export const ControlScore = ({ control, color = 'base-content' }) =>
/**
* A component to render a visualisation of the user's control/UX setting
*
* @component
* @param {object} props - All component props
* @param {number} props.control - The user's control setting (a number)
* @returns {JSX.Element}
*/
export const ControlScore = ({ control }) =>
control ? (
<div className={`tw:flex tw:flex-row tw:items-center tw:text-${color}`}>
<div className={`tw:flex tw:flex-row tw:items-center tw:text-base-content`}>
{Object.keys(controlDesc).map((score) => (
<BulletIcon
fill={control >= score ? true : false}

View file

@ -6,3 +6,4 @@ jsdoc -c jsdoc.json components/Admin/* > ../../sites/dev/prebuild/jsdoc/react/co
jsdoc -c jsdoc.json components/Breadcrumbs/* > ../../sites/dev/prebuild/jsdoc/react/components/breadcrumbs.json
jsdoc -c jsdoc.json components/Button/* > ../../sites/dev/prebuild/jsdoc/react/components/button.json
jsdoc -c jsdoc.json components/Collection/* > ../../sites/dev/prebuild/jsdoc/react/components/collection.json
jsdoc -c jsdoc.json components/Control/* > ../../sites/dev/prebuild/jsdoc/react/components/control.json

View file

@ -15,10 +15,10 @@ The **Collection** component family provides the following components:
- [DesignInfo](#designinfo)
## Collection
<ComponentDocs docs={jsdocCollection} example={CollectionExample} />
## DesignInfo
<ComponentDocs docs={jsdocDesignInfo} example={DesignInfoExample} />
</DocusaurusDoc>

View file

@ -0,0 +1,4 @@
import React from 'react'
import { ControlScore } from '@freesewing/react/components/Control'
export const ControlScoreExample = () => <ControlScore control={3} />

View file

@ -2,6 +2,20 @@
title: Control
---
:::note
This page is yet to be created
:::
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { ComponentDocs } from '@site/src/components/component-docs.js'
import { jsdocControlScore } from '@site/prebuild/jsdoc/components.control.mjs'
import { ControlScoreExample } from './_examples.js'
<DocusaurusDoc>
The **Control** component family provides the following components:
- [ControlScore](#controlscore)
## ControlScore
<ComponentDocs docs={jsdocControlScore} example={ControlScoreExample} />
</DocusaurusDoc>