From 0c66e2da3249604676ae3ed4a822b071ed884672 Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Sun, 1 Dec 2019 21:40:07 +0700 Subject: [PATCH] Add radio button group --- client/constants/Pattern.ts | 1 + client/pages/ExplorePage.tsx | 1 + .../custom-checkbox-button/Details.tsx | 2 +- .../patterns/custom-radio-button/Details.tsx | 2 +- client/patterns/radio-button-group/Cover.tsx | 51 +++++++ .../patterns/radio-button-group/Details.tsx | 143 ++++++++++++++++++ .../radio-button-group/radioButtonGroup.css | 6 + public/sitemap.xml | 1 + 8 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 client/patterns/radio-button-group/Cover.tsx create mode 100644 client/patterns/radio-button-group/Details.tsx create mode 100644 client/patterns/radio-button-group/radioButtonGroup.css diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts index 82c17f1..1d5f835 100644 --- a/client/constants/Pattern.ts +++ b/client/constants/Pattern.ts @@ -35,6 +35,7 @@ enum Pattern { ProgressBar = 'Progress bar', QuestionsAndAnswers = 'Questions and answers', RadialProgressBar = 'Radial progress bar', + RadioButtonGroup = 'Radio button group', RadioSwitch = 'Radio switch', Rating = 'Rating', Ribbon = 'Ribbon', diff --git a/client/pages/ExplorePage.tsx b/client/pages/ExplorePage.tsx index 19bde05..c2d7918 100644 --- a/client/pages/ExplorePage.tsx +++ b/client/pages/ExplorePage.tsx @@ -118,6 +118,7 @@ const ExplorePage = () => { + diff --git a/client/patterns/custom-checkbox-button/Details.tsx b/client/patterns/custom-checkbox-button/Details.tsx index cda0356..fbef519 100644 --- a/client/patterns/custom-checkbox-button/Details.tsx +++ b/client/patterns/custom-checkbox-button/Details.tsx @@ -151,7 +151,7 @@ const Details: React.FC<{}> = () => { `} /> - + ); }; diff --git a/client/patterns/custom-radio-button/Details.tsx b/client/patterns/custom-radio-button/Details.tsx index eebbc1b..f601017 100644 --- a/client/patterns/custom-radio-button/Details.tsx +++ b/client/patterns/custom-radio-button/Details.tsx @@ -154,7 +154,7 @@ const Details: React.FC<{}> = () => { `} /> - + ); }; diff --git a/client/patterns/radio-button-group/Cover.tsx b/client/patterns/radio-button-group/Cover.tsx new file mode 100644 index 0000000..8660209 --- /dev/null +++ b/client/patterns/radio-button-group/Cover.tsx @@ -0,0 +1,51 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; + +const Cover: React.FC<{}> = () => { + return ( + +
+
+
+
+
+
+
+ + ); +}; + +export default Cover; diff --git a/client/patterns/radio-button-group/Details.tsx b/client/patterns/radio-button-group/Details.tsx new file mode 100644 index 0000000..f26397b --- /dev/null +++ b/client/patterns/radio-button-group/Details.tsx @@ -0,0 +1,143 @@ +import React, { useState } from 'react'; + +import './radioButtonGroup.css'; + +import RelatedPatterns from '../../components/RelatedPatterns'; +import Pattern from '../../constants/Pattern'; +import DetailsLayout from '../../layouts/DetailsLayout'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import Rectangle from '../../placeholders/Rectangle'; + +interface RadioProps { + value: string; +} + +const Details: React.FC<{}> = () => { + const [selectedValue, setSelectedValue] = useState('1'); + + const Radio: React.FC = ({ value, children }) => { + const click = () => setSelectedValue(value); + + return ( + + ); + }; + + return ( + +
+ +
+ +
+
+ +
+
+ +
+
+
+
+ )} + source={` + + +
+ + + + + ... +
+`} + /> +
+ + + + ); +}; + +export default Details; diff --git a/client/patterns/radio-button-group/radioButtonGroup.css b/client/patterns/radio-button-group/radioButtonGroup.css new file mode 100644 index 0000000..3fa170b --- /dev/null +++ b/client/patterns/radio-button-group/radioButtonGroup.css @@ -0,0 +1,6 @@ +.p-radio-button-group label { + border-right: 1px solid rgba(0, 0, 0, 0.3); +} +.p-radio-button-group label:last-child { + border-right-color: transparent; +} \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml index 02b1f03..eb938b2 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -40,6 +40,7 @@ https://csslayout.io/patterns/property-list https://csslayout.io/patterns/questions-and-answers https://csslayout.io/patterns/radial-progress-bar + https://csslayout.io/patterns/radio-button-group https://csslayout.io/patterns/radio-switch https://csslayout.io/patterns/rating https://csslayout.io/patterns/ribbon