1
0
Fork 0

[react] feat: Added docs for components/Newsletter

This commit is contained in:
joostdecock 2025-05-25 13:37:24 +02:00
parent 0ecb1c8fd2
commit 4c582bf26f
3 changed files with 36 additions and 11 deletions

View file

@ -17,11 +17,16 @@ import { Popout } from '@freesewing/react/components/Popout'
import { IconButton } from '@freesewing/react/components/Button' import { IconButton } from '@freesewing/react/components/Button'
import { MiniTip } from '@freesewing/react/components/Mini' import { MiniTip } from '@freesewing/react/components/Mini'
/* /**
* Component for newsletter signup (by visitors) * Component for newsletter signup by visitors (not logged-in users)
* *
* @params {object} props - All React props * @component
* @param {function} props.Link - An optional framework-specific Link component * @param {object} props - All component props
* @param {React.FC} [props.Link = false] - An optional framework-specific Link component
* @param {boolean} [props.noP = false] - Set this to true to not display the signup message paragraph
* @param {boolean} [props.noTitle = false] - Set this to true to not display the signup title
* @param {boolean} [props.noBox = false] - Set this to true to not apply the box style
* @returns {JSX.Element}
*/ */
export const NewsletterSignup = ({ Link = false, noP = false, noTitle = false, noBox = false }) => { export const NewsletterSignup = ({ Link = false, noP = false, noTitle = false, noBox = false }) => {
if (!Link) Link = WebLink if (!Link) Link = WebLink
@ -120,11 +125,13 @@ export const NewsletterSignup = ({ Link = false, noP = false, noTitle = false, n
) )
} }
/* /**
* Component to handle newsletter unsubscribe links * Component for handling newsletter unsubscribe links
* *
* @params {object} props - All React props * @component
* @param {function} props.Link - An optional framework-specific Link component * @param {object} props - All component props
* @param {React.FC} [props.Link = false] - An optional framework-specific Link component
* @returns {JSX.Element}
*/ */
export const NewsletterUnsubscribe = ({ Link = false }) => { export const NewsletterUnsubscribe = ({ Link = false }) => {
if (!Link) Link = WebLink if (!Link) Link = WebLink

View file

@ -23,3 +23,4 @@ jsdoc -c jsdoc.json components/Link/* > ../../sites/dev/prebuild/jsdoc/react/com
jsdoc -c jsdoc.json components/Logo/* > ../../sites/dev/prebuild/jsdoc/react/components/logo.json jsdoc -c jsdoc.json components/Logo/* > ../../sites/dev/prebuild/jsdoc/react/components/logo.json
jsdoc -c jsdoc.json components/Mini/* > ../../sites/dev/prebuild/jsdoc/react/components/mini.json jsdoc -c jsdoc.json components/Mini/* > ../../sites/dev/prebuild/jsdoc/react/components/mini.json
jsdoc -c jsdoc.json components/Modal/* > ../../sites/dev/prebuild/jsdoc/react/components/modal.json jsdoc -c jsdoc.json components/Modal/* > ../../sites/dev/prebuild/jsdoc/react/components/modal.json
jsdoc -c jsdoc.json components/Newsletter/* > ../../sites/dev/prebuild/jsdoc/react/components/newsletter.json

View file

@ -2,6 +2,23 @@
title: Newsletter title: Newsletter
--- ---
:::note import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
This page is yet to be created import { ComponentDocs } from '@site/src/components/component-docs.js'
::: import * as jsdoc from '@site/prebuild/jsdoc/components.newsletter.mjs'
import { NewsletterSignup, NewsletterUnsubscribe } from '@freesewing/react/components/Newsletter'
<DocusaurusDoc>
The __Newsletter__ component family provides the following components:
- [NewsletterSignup](#newslettersignup)
- [NewsletterUnsubscribe](#newsletterunsubscribe)
## NewsletterSignup
<ComponentDocs docs={jsdoc.jsdocNewsletterSignup} example={NewsletterSignup} />
## NewsletterUnsubscribe
<ComponentDocs docs={jsdoc.jsdocNewsletterUnsubscribe} example={NewsletterUnsubscribe} />
</DocusaurusDoc>